[PATCH 0/2] RFC: Support for MTE stack tagging.
Cupertino Miranda
cupertino.miranda@oracle.com
Fri Mar 14 13:31:41 GMT 2025
+CC Indu Bhagat <indu.bhagat@oracle.com>
On 14-03-2025 13:21, Cupertino Miranda wrote:
> Hi everyone,
>
> This is an initial work to enable glibc support for MTE stack tagging.
> In a nutshell glibc should set PROT_MTE to any stack pages which get
> allocated for any running application which requires MTE stack tagging.
>
> The approach taken to flag the need for stack tagging is to check
> .dynamic entries specific to aarch64, as described in section 6 from:
> https://github.com/ARM-software/abi-aa/blob/main/memtagabielf64/memtagabielf64.rst
>
> This is an initial propose patch. I would like to get some feedback
> for the approach used to check for the .dynamic flags, how the
> PROT_MTE property is set for the stacks or any other comments.
>
> This feature is related to the work done by Indu Bhagat submitted as RFC
> in gcc-patches:
> https://gcc.gnu.org/pipermail/gcc-patches/2024-November/668017.html
> And in binutils in:
> https://sourceware.org/pipermail/binutils/2024-December/137989.html
>
> I noticed my patches fail a lot of conform/linknamespace tests. I
> think I need some guidance for why this happens.
>
> Looking forward to your comments.
>
> Best regards,
> Cupertino
>
> Cupertino Miranda (2):
> rtld: Enable MTE for stack when specified in .dynamic.
> nptl: Enable MTE for stacks created for threads.
>
> elf/dl-mte-stack.c | 28 +++++++
> elf/elf.h | 8 +-
> nptl/allocatestack.c | 3 +-
> nptl/nptl-stack.c | 7 ++
> nptl/nptl-stack.h | 2 +
> sysdeps/aarch64/Makefile | 3 +-
> sysdeps/aarch64/cpu-features.h | 15 ++++
> sysdeps/aarch64/dl-mte.c | 50 +++++++++++
> sysdeps/aarch64/dl-prop.h | 4 +
> sysdeps/unix/sysv/linux/aarch64/Makefile | 10 +++
> .../unix/sysv/linux/aarch64/dl-mte-stack.c | 83 +++++++++++++++++++
> 11 files changed, 210 insertions(+), 3 deletions(-)
> create mode 100644 elf/dl-mte-stack.c
> create mode 100644 sysdeps/aarch64/dl-mte.c
> create mode 100644 sysdeps/unix/sysv/linux/aarch64/dl-mte-stack.c
>
More information about the Libc-alpha
mailing list