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

Memory Tagged (MTE) Allocator Learning Path #746

Merged

Conversation

DavidSpickett
Copy link
Contributor

This path builds on https://learn.arm.com/learning-paths/cross-platform/dynamic-memory-allocator/ by using the Memory Tagging Extension (MTE) to prevent common memory problems in the memory allocator.

Full source is included in this path so readers don't have to copy it from the previous path, however they will need to understand the basic design of the allocator to understand the changes needed to support MTE.

So the full "journey" might be:

The binary runs under qemu-user, so it is possible to follow the path on current AArch64 hardware or non-AArch64 hardware.

I'm sure we can tie this to other MTE resources but I've left the links empty as you'll probably have a better idea of what to put there.

Before submitting a pull request for a new Learning Path, please review Create a Learning Path

  • I have reviewed Create a Learning Path

Please do not include any confidential information in your contribution. This includes confidential microarchitecture details and unannounced product information. No AI tool can be used to generate either content or code when creating a learning path or install guide.

  • I have checked my contribution for confidential information

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the Creative Commons Attribution 4.0 International License.

DavidSpickett and others added 9 commits February 28, 2024 11:52
This path builds on https://learn.arm.com/learning-paths/cross-platform/dynamic-memory-allocator/
by using the Memory Tagging Extension (MTE) to prevent common memory problems in the
memory allocator.

Full source is included in this path so readers don't have to copy it from the
previous path, however they will need to understand the basic design of the
allocator to understand the changes needed to support MTE.

So the full "journey" might be:
* The memory allocator path (https://learn.arm.com/learning-paths/cross-platform/dynamic-memory-allocator/)
* The stack overflows path (https://learn.arm.com/learning-paths/servers-and-cloud-computing/exploiting-stack-buffer-overflow-aarch64/)
* The intro to MTE path (https://learn.arm.com/learning-paths/smartphones-and-mobile/mte/)
* This memory tagged allocator path

The binary runs under qemu-user, so it is possible to follow the path
on current AArch64 hardware or non-AArch64 hardware.

I'm sure we can tie this to other MTE resources but I've left the links
empty as you'll probably have a better idea of what to put there.
@pareenaverma pareenaverma merged commit 49215a2 into ArmDeveloperEcosystem:main Mar 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants