Conversation

one of the most interesting things about this work is that it might be the gateway drug that finally leads to widespread deployment of real memory safety for C and C++
Quote Tweet
Adopting the Arm Memory Tagging Extension in Android security.googleblog.com/2019/08/adopti
4
96
Replying to
I don't see how they have anything to do with real memory-safety. They're yet another, very good compared to past attempts, mechanism to catch a fairly large portion of memory errors.
1
1
I'm sceptical. My hasty first take: a key problem with naïve implementations of memory safety boil down to not caring about types (e.g. ignoring pointer casts). Painting memory a {small, fixed} number of colours can only model types approximately -- i.e. unsafely, if compatibly.
1
Show replies
It doesn't solve that a much more complete deterministic memory safety implementation for C will be very expensive. There are definitely use cases for tags beyond the obvious though. It provides a way of doing cheap 16 byte granularity guard pages and I can think of other uses.
1
2
An additional barrier to a memory safety implementation for C is many undesirable things like some intra-object memory corruption are permitted. It's similar to how automatic integer overflow checking for C is rendered mostly useless for types smaller than int due to promotion.
1
2
Show replies