summaryrefslogtreecommitdiff
path: root/arch/arm/kernel/elf.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/kernel/elf.c')
-rw-r--r--arch/arm/kernel/elf.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/arm/kernel/elf.c b/arch/arm/kernel/elf.c
index 5ccd4aced6cc..254ab7138c85 100644
--- a/arch/arm/kernel/elf.c
+++ b/arch/arm/kernel/elf.c
@@ -87,12 +87,13 @@ EXPORT_SYMBOL(elf_set_personality);
* ELF:              |            |           |
* ---------------------|------------|------------|
* missing PT_GNU_STACK | exec-all   | exec-all  |
- * PT_GNU_STACK == RWX  | exec-all   | exec-all  |
+ * PT_GNU_STACK == RWX  | exec-all   | exec-stack |
* PT_GNU_STACK == RW   | exec-all  | exec-none |
*
* exec-all : all PROT_READ user mappings are executable, except when
* backed by files on a noexec-filesystem.
* exec-none : only PROT_EXEC user mappings are executable.
+ * exec-stack: only the stack and PROT_EXEC user mappings are executable.
*
* *this column has no architectural effect: NX markings are ignored by
* hardware, but may have behavioral effects when "wants X" collides with
@@ -102,7 +103,7 @@ EXPORT_SYMBOL(elf_set_personality);
*/
int arm_elf_read_implies_exec(int executable_stack)
{
- if (executable_stack != EXSTACK_DISABLE_X)
+ if (executable_stack == EXSTACK_DEFAULT)
return 1;
if (cpu_architecture() < CPU_ARCH_ARMv6)
return 1;