Conversation

twitter.com/GrapheneOS/sta Implementing support for ARM v8.5 hardware-based memory tagging in hardened_malloc is a compelling project if anyone is interested. QEMU has emulator for MTE. Can start with a typical fully randomized implementation for slab allocations and go from there.
Quote Tweet
Standalone hardened_malloc version 4 released: github.com/GrapheneOS/har
1
8
It would be nice to get this implemented before the hardware is available. If someone has relevant experience including fluency in arm64 assembly and can commit to working on this, we can provide funding for it. We've got a lot of things to work on so it hasn't been a priority.
1
3
The desired design is documented at github.com/GrapheneOS/har. However, an initial implementation should just use fully randomized tags like most other allocators are going to be doing. Focus on getting the basics working then add more necessary primitives and expand it from there.
1
1
Reserving a tag for free memory and setting it on freed slab allocations would be a good next step after the initial implementation. Can then work towards the more complicated tag selection based on adjacent and previous tags. Each step requires using more of the instructions.