Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Memory Tagging Extension (MTE) Support for ARMv9 devices #106

Merged
merged 2 commits into from
Nov 27, 2023

Conversation

PatrykMis
Copy link
Collaborator

@PatrykMis PatrykMis commented Nov 15, 2023

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

@PatrykMis PatrykMis added the feature New feature or request label Nov 15, 2023
@PatrykMis PatrykMis added this to the MVP milestone Nov 15, 2023
@PatrykMis PatrykMis requested a review from Irineu333 November 15, 2023 20:47
@PatrykMis PatrykMis self-assigned this Nov 15, 2023
@Irineu333
Copy link
Member

I found the commit description excessively long. I don't know what you think, but I'm used to shorter and more to-the-point commits.

@PatrykMis PatrykMis force-pushed the features/mte-support branch from 0ffb6cd to 5fe475b Compare November 16, 2023 09:06
@PatrykMis
Copy link
Collaborator Author

Ok, updated. Let the description stay in this pull request, it will be enough I think.

@PatrykMis PatrykMis force-pushed the features/mte-support branch from 5fe475b to d980a00 Compare November 16, 2023 12:31
@Irineu333
Copy link
Member

@PatrykMis You tested it on a compatible device, right?

@PatrykMis
Copy link
Collaborator Author

Yes, of course. On my Pixel 8 using GrapheneOS. I would not open PR unless I test first (except draft PRs).

@Irineu333
Copy link
Member

@PatrykMis Good, sorry for the question.

@Irineu333 Irineu333 merged commit 885e92f into develop Nov 27, 2023
1 check passed
@Irineu333 Irineu333 deleted the features/mte-support branch November 27, 2023 17:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request
Projects
Status: Ready For Production
Development

Successfully merging this pull request may close these issues.

2 participants