On Apr 17, 2009, at 5:41 AM, Benjamin Herrenschmidt wrote:

On Fri, 2009-04-17 at 20:05 +1000, Paul Mackerras wrote:
Benjamin Herrenschmidt writes:

I'm pretty sure they are broken already when running off a 64-bit
kernel,

Maybe not... for 64-bit kernels we have our definition of
elf_read_implies_exec in arch/powerpc/include/asm/elf.h, which IIRC
sets the read-implies-exec personality thing on old 32-bit binaries.

Ok, so looking at that more closely, if that had worked, we would
have had PROT_EXEC, and thus VM_EXEC added to the vma by mmap... which
apparently didn't occur.

I think what may be happening is that the binary he's running has the
PT_GNU_STACK but his libc doesn't ... the kernel will set the
personality flag based on the binary you are trying to run, not any
library it uses...

Kumar, can you try to instrument that a bit and tell us ? What the
personality flag gets set to and whether mmap sets PROT_EXEC ?

I can and might have already done this, need to double check. But what I was seeing from elf_map is that we don't get PROT_EXEC set for this PHDR, but get VM_MAY_EXEC. I'm not clear on what VM_MAY_EXEC is intended for.

- k
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to