ppc64 sbrk returns executable heap in 32-bit emulation mode
fweimer at redhat.com
Thu May 12 23:41:09 AEST 2016
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
* 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
Is this comment about pre-ELF binaries? If yes, would it possible to
change the default for ELF binaries?
More information about the Linuxppc-dev