From f793a3edf676f0e72c7f21de4d89aa14b247a61a Mon Sep 17 00:00:00 2001 From: Daniel Micay Date: Mon, 30 Oct 2023 14:23:07 -0400 Subject: [PATCH] update README now that MTE is implemented --- README.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index b3f820f..8962037 100644 --- a/README.md +++ b/README.md @@ -470,16 +470,16 @@ was a bit less important and if a core goal was finding latent bugs. * Errors other than ENOMEM from mmap, munmap, mprotect and mremap treated as fatal, which can help to detect memory management gone wrong elsewhere in the process. -* [future] Memory tagging for slab allocations via MTE on ARMv8.5+ +* Memory tagging for slab allocations via MTE on ARMv8.5+ * random memory tags as the baseline, providing probabilistic protection against various forms of memory corruption * dedicated tag for free slots, set on free, for deterministic protection against accessing freed memory - * store previous random tag within freed slab allocations, and increment it - to get the next tag for that slot to provide deterministic use-after-free - detection through multiple cycles of memory reuse * guarantee distinct tags for adjacent memory allocations by incrementing past matching values for deterministic detection of linear overflows + * [future] store previous random tag and increment it to get the next tag + for that slot to provide deterministic use-after-free detection through + multiple cycles of memory reuse ## Randomness @@ -721,6 +721,9 @@ freeing as there would be if the kernel supported these features directly. ## Memory tagging +**Memory tagging has been implemented and this section is currently +out-of-date.** + Integrating extensive support for ARMv8.5 memory tagging is planned and this section will be expanded to cover the details on the chosen design. The approach for slab allocations is currently covered, but it can also be used for the