[PATCH] x86_64: Bring x86-64 ia32 emul in sync with i386 on READ_IMPLIES_EXEC enabling
authorMarkus Schoder <lists@gammarayburst.de>
Mon, 10 Jul 2006 15:06:06 +0000 (17:06 +0200)
committerLinus Torvalds <torvalds@g5.osdl.org>
Mon, 10 Jul 2006 22:12:32 +0000 (15:12 -0700)
commit3391c22e5b6aaeb289bcc1ad0d5b3f2ba5421f22
tree2fe664aea3492f5e8afeab95298fb67aa1813096
parentd5d8ad78b05d13c658aae8f4b06b6d339f13fd58
[PATCH] x86_64: Bring x86-64 ia32 emul in sync with i386 on READ_IMPLIES_EXEC enabling

Currently ia32 binaries behave differently with respect to enabling
READ_IMPLIES_EXEC.  On i386 a binary with the exec_stack flag set is
executed with READ_IMPLIES_EXEC enabled as well.  The same binary
executes without READ_IMPLIES_EXEC on x86-64.

This causes binaries that work on i386 to fail on x86-64 which goes
somewhat against the whole 32 bit emulation idea.

It has been argued that READ_IMPLIES_EXEC should not be enabled at all
for binaries that have the exec_stack flag.  Which is probably a valid
point.  However until this is clarified I think x86-64 should behave the
same for ia32 binaries as i386.

The following patch brings x86-64 in sync with i386 for ia32 binaries.

Signed-off-by: Markus Schoder <lists@gammarayburst.de>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/x86_64/ia32/ia32_binfmt.c