Commit 14f0aa35 authored by Russell King's avatar Russell King Committed by Russell King

[ARM] disable NX support for OABI-supporting kernels

Our signal syscall restart handling for these kernels still uses
the userspace stack to build code for restarting the syscall.
Unfortunately, fixing this is non-trivial, and so for the time
being, we resolve the problem by disabling NX support.
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 355532bd
...@@ -78,6 +78,15 @@ int arm_elf_read_implies_exec(const struct elf32_hdr *x, int executable_stack) ...@@ -78,6 +78,15 @@ int arm_elf_read_implies_exec(const struct elf32_hdr *x, int executable_stack)
return 1; return 1;
if (cpu_architecture() < CPU_ARCH_ARMv6) if (cpu_architecture() < CPU_ARCH_ARMv6)
return 1; 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; return 0;
#endif
} }
EXPORT_SYMBOL(arm_elf_read_implies_exec); EXPORT_SYMBOL(arm_elf_read_implies_exec);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment