We noticed that on ppc64, the sbrk system call in the 32-bit subsystem
returns executable memory. I assume it is related to this, in
arch/powerpc/include/asm/page.h:
/*
* Unfortunately the PLT is in the BSS in the PPC32 ELF ABI,
* and needs to be executable. This means the whole heap ends
* up being executable.
*/
#define VM_DATA_DEFAULT_FLAGS32 (VM_READ | VM_WRITE | VM_EXEC | \
VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
What is the rationale for this? This comment must be *really* old,
because ld.so in glibc should make sure that the PLT is executable. And
for current binaries, .bss is *not* executable, contrary to what the
comment suggests.
Is this comment about pre-ELF binaries? If yes, would it possible to
change the default for ELF binaries?
Thanks,
Florian
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev