From ce4af25a83fc064e3124552d40d4b72f54ce44bd Mon Sep 17 00:00:00 2001 From: Russell King Date: Sat, 23 May 2009 11:36:20 +0100 Subject: [PATCH] --- yaml --- r: 145395 b: refs/heads/master c: 14f0aa359365e8a93a77b71e3b840274b9b4dcb1 h: refs/heads/master i: 145393: a1584b9e9b408a1c163cd795b6e8b41b865d455f 145391: be9daa49862d9b99bbc696264e48a590711ca72a v: v3 --- [refs] | 2 +- trunk/arch/arm/kernel/elf.c | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 4228e7e4a0d6..356421583fdb 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 355532bdda14a7162cee55fdd67600bf9bc9a152 +refs/heads/master: 14f0aa359365e8a93a77b71e3b840274b9b4dcb1 diff --git a/trunk/arch/arm/kernel/elf.c b/trunk/arch/arm/kernel/elf.c index d4a0da1e48f4..950391f194c4 100644 --- a/trunk/arch/arm/kernel/elf.c +++ b/trunk/arch/arm/kernel/elf.c @@ -78,6 +78,15 @@ int arm_elf_read_implies_exec(const struct elf32_hdr *x, int executable_stack) return 1; if (cpu_architecture() < CPU_ARCH_ARMv6) return 1; +#if !defined(CONFIG_AEABI) || defined(CONFIG_OABI_COMPAT) + /* + * If we have support for OABI programs, we can never allow NX + * support - our signal syscall restart mechanism relies upon + * being able to execute code placed on the user stack. + */ + return 1; +#else return 0; +#endif } EXPORT_SYMBOL(arm_elf_read_implies_exec);