ppc64 sbrk returns executable heap in 32-bit emulation mode

Florian Weimer 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.
                                  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?


More information about the Linuxppc-dev mailing list