Something I learned recently which is probably not well understood by most within this space:
Arm9 and Arm10 have hardware MTE support. The Google Pixels that have these SoCs support hardware MTE; however, Google has set enabled in their version of Android audit-only mode so that Google can collect more data on MTE violations. This is what Apple calls “asynchronous MTE”.
Apple, in their A19 and M5 SoCs also fully support MTE with MTE offloading capabilities that eliminate the performance hit of enabling “synchronous MTE”, or, block mode MTE. MTE on these devices is always on for many of Apple’s first-party kernel and app layers, and any 3rd-party app that tests, compiles, and ships updated versions of their apps.
GrapheneOS users, the few, can enable block mode on their Arm9 and Arm10 Pixels, with a performance hit.
So one big takeaway here is that Apple is the first major player to enable block-mode MTE on mass-market devices. The second is that we need to put pressure on 3rd-party apps to build their apps with hardware MTE/MIE flags. Third, Google needs to enable block mode MTE, and then Android app need the same redevelopment.