Conversation

This Tweet was deleted by the Tweet author. Learn more
Replying to and
It's only required to work within objects. I also don't think typical uses of pointer authentication will impact anything other than pointers not directly available to C without compiler intrinsics (return addresses) and function pointers. It won't be used for most regular data.
1
Verifying that pointers passed to free and realloc were created by malloc doesn't seem particularly useful. Maybe I'm misunderstanding how it would be used. I also don't find this to be a particularly compelling feature. ARMv8.5 MTE (memory tagging) is a great feature though.
2
1
Using it in malloc is cheap and it can provide nice deterministic guarantees rather than just being a weak probabilistic mitigation via entirely random tags. Catching linear overflows beyond allocations is easily guaranteed and catching UAF within N reuse cycles is quite doable.
1
I don't place a whole lot of value in the weak probabilistic mitigation provided by choosing random initial tags, but it's nice to have, and will catch lots of latent memory corruption bugs. It's very similar to ASan, but without the performance cost and with a lower memory cost.
1
Show replies