Conversation

This Tweet was deleted by the Tweet author. Learn more
Replying to
It's also getting much better in ARMv8.5 with hardware enforced memory tagging support (MTE) rather than needing to add a bunch of instrumentation to cover all the accesses, etc. LLVM has support for it landed, just need to wait ages for the hardware now.
Quote Tweet
Generating and setting memory tags for each allocation will become an important responsibility of the malloc implementation for ARMv8.5 MTE. The existing Top Byte Ignore (TBI) was already usable for this use case, but required lots of instrumentation: arxiv.org/ftp/arxiv/pape.
Show this thread
ARMv8.5 also adds Branch Target Indicators (BTI) for a form of coarse-grained CFI: developer.arm.com/products/archi It prevents an indirect branch to anything but a matching BTI instruction. It's too bad that it doesn't have a way to encode types into it. Still nice to see CFI support.
10