Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

[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
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -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);