Conversation
| int32_t big_zone_used_count; | ||
| uint16_t zones_used; | ||
| #if ARM_MTE | ||
| bool arm_mte_enabled; |
There was a problem hiding this comment.
This should go in a read-only zone I think, otherwise, MTE is disableable by an attacker with an arbitrary write primitive.
There was a problem hiding this comment.
A read-only section for settings like this is easy to implement but often requires dereferencing both _root and ro_config_page which can flush the cache and really hurt performance in any hot paths.
|
This PR looks OK to merge behind the TLDR: YMMV, please let me know if you can test this on real hardware! |
|
If you want to test in an Ubuntu Docker container on an M1/M2 based Macbook just enabled the The If you add |
This is the start of MTE support in IsoAlloc. Most of the code is adapted from Scudo (also released under an Apache v2 license with minor modifications). It is UNTESTED at the moment and should not be merged. If you have a Pixel 8 and want to do some testing of this PR please get in touch with me.