1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-10-27 12:15:39 +03:00

elf: early conversion of elf p_flags to mprotect flags

This patch replaces _dl_stack_flags global variable by
_dl_stack_prot_flags.
The advantage is that any convertion from p_flags to final used mprotect
flags occurs at loading of p_flags. It avoids repeated spurious
convertions of _dl_stack_flags, for example in allocate_thread_stack.

This modification was suggested in:
  https://sourceware.org/pipermail/libc-alpha/2025-March/165537.html

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
This commit is contained in:
Cupertino Miranda
2025-08-22 11:37:00 +01:00
committed by Adhemerval Zanella
parent 921e251e8f
commit 3b2b88ccee
30 changed files with 104 additions and 102 deletions

View File

@@ -25,7 +25,7 @@ _dl_handle_execstack_tunable (void)
switch (TUNABLE_GET (glibc, rtld, execstack, int32_t, NULL))
{
case stack_tunable_mode_disable:
if ((__glibc_unlikely (GL(dl_stack_flags)) & PF_X))
if ((__glibc_unlikely (GL(dl_stack_prot_flags)) & PROT_EXEC))
_dl_fatal_printf (
"Fatal glibc error: executable stack is not allowed\n");
break;