[PATCH 2/2] nptl: Enable MTE for stacks created for threads.
Florian Weimer
fweimer@redhat.com
Wed Mar 26 18:44:23 GMT 2025
* Cupertino Miranda:
> Hi Florian,
>
> Thanks for the review!
>
> On 14-03-2025 16:35, Florian Weimer wrote:
>> * Cupertino Miranda:
>>
>>> diff --git a/nptl/allocatestack.c b/nptl/allocatestack.c
>>> index 800ca89720..6155157063 100644
>>> --- a/nptl/allocatestack.c
>>> +++ b/nptl/allocatestack.c
>>> @@ -153,7 +153,8 @@ static int allocate_stack_mode = ALLOCATE_GUARD_MADV_GUARD;
>>> static inline int stack_prot (void)
>>> {
>>> return (PROT_READ | PROT_WRITE
>>> - | ((GL(dl_stack_flags) & PF_X) ? PROT_EXEC : 0));
>>> + | ((GL(dl_stack_flags) & PF_X) ? PROT_EXEC : 0)
>>> + | stack_mem_tagging_prot ());
>>> }
>> I think we should clean this up and arrange for the dynamic linker to
>> determine the PROT_* flags for stacks created at run time, so that we
>> can use that variable directly without further processing.
> IMHO, we cannot escape from abstracting somehow the final flags as
> above with PF_X. The problem being that each OS would have each own
> flags and syscalls and dynamic linker is OS agnostic, AFAIK.
The dynamic linker has both Linux- and architecture-specific code.
I would like to see
GLRO (dl_stack_prot_flags)
instead of:
stack_prot ()
Then we can remove the GL(dl_stack_flags) variable.
Thanks,
Florian
More information about the Libc-alpha
mailing list