Patchwork [v2] powerpc: Fix up elf_read_implies_exec() usage

login
register
mail settings
Submitter Kumar Gala
Date April 28, 2009, 1:32 p.m.
Message ID <1240925556-9110-1-git-send-email-galak@kernel.crashing.org>
Download mbox | patch
Permalink /patch/26562/
State Accepted, archived
Commit d89ebca2248ab03a5928e7dd30b6c304283fc207
Delegated to: Benjamin Herrenschmidt
Headers show

Comments

Kumar Gala - April 28, 2009, 1:32 p.m.
We believe if a toolchain supports PT_GNU_STACK that it sets the proper
PHDR permissions.  Therefor elf_read_implies_exec() should only be true
if we don't see PT_GNU_STACK set.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
---
* Rebased patch on paulus/merge tree which picked up an older patch to fixed
  elf_read_implies_exec() on pure PPC32 systems but not in the way we desired.

Paul, lets try this one for .30.

- k

 arch/powerpc/include/asm/elf.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

Patch

diff --git a/arch/powerpc/include/asm/elf.h b/arch/powerpc/include/asm/elf.h
index d6b4a12..014a624 100644
--- a/arch/powerpc/include/asm/elf.h
+++ b/arch/powerpc/include/asm/elf.h
@@ -256,11 +256,11 @@  do {								\
  * even if we have an executable stack.
  */
 # define elf_read_implies_exec(ex, exec_stk) (test_thread_flag(TIF_32BIT) ? \
-		(exec_stk != EXSTACK_DISABLE_X) : 0)
+		(exec_stk == EXSTACK_DEFAULT) : 0)
 #else 
 # define SET_PERSONALITY(ex) \
   set_personality(PER_LINUX | (current->personality & (~PER_MASK)))
-# define elf_read_implies_exec(ex, exec_stk) (exec_stk != EXSTACK_DISABLE_X)
+# define elf_read_implies_exec(ex, exec_stk) (exec_stk == EXSTACK_DEFAULT)
 #endif /* __powerpc64__ */
 
 extern int dcache_bsize;