1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-10-17 05:11:21 +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

@@ -17,6 +17,7 @@
<https://www.gnu.org/licenses/>. */
#include <ldsodefs.h>
#include <stackinfo.h>
int
_dl_make_stack_executable (const void *stack_endp)
@@ -36,7 +37,7 @@ _dl_make_stack_executable (const void *stack_endp)
return errno;
/* Remember that we changed the permission. */
GL(dl_stack_flags) |= PF_X;
GL(dl_stack_prot_flags) |= PROT_EXEC;
return 0;
}