Add Memory Tagging Extension (MTE) Support for ARMv9 devices #106
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Introduce Memory Tagging Extension (MTE) to enhance application security and detect memory-related issues on supported devices with Android 14+.
This commit implements MTE, a hardware-based memory safety feature, to help identify and prevent memory corruption issues, such as buffer overflows and use-after-free vulnerabilities. ARM memory tagging support provides a limited form of memory safety for both memory unsafe languages (C, C++) and the small subset of unsafe code in memory safe languages (Rust, Java, Kotlin).
MTE leverages hardware-based memory tagging to associate metadata with each memory allocation, enabling runtime detection of out-of-bounds accesses. This proactive approach enhances the robustness of our application, making it more resistant to memory-related security vulnerabilities.
MTE is supported on platforms that provide ARMv8.5-A (and up) architecture (devices such as Pixel 8/8 Pro) with MTE capabilities. This addition ensures our application can take advantage of the latest hardware security features for a more secure and reliable user experience.
More info: https://community.arm.com/arm-community-blogs/b/operating-systems-blog/posts/new-mte-user-guide