|
|
|
|
|
by rjmccall
2378 days ago
|
|
They can be compatible. Memory tagging does use the TBI bits. Pointer authentication uses an arbitrary number of bits, and the kernel configures the width and whether the TBI bits are preserved. So you can use both, it just costs you 8 bits of signature. Moreover, this can be configured independently for code and data pointers. iOS turns off TBI on code pointers to get 8 more bits of signature. That's not a problem for memory tagging because memory tagging isn't particularly useful for code pointers anyway. |
|
Ooh, this is cool. Does iOS currently use different signature sizes? Can I write an application that uses the top bits of data pointers?