linux-kernel-test/arch/arm64
Mark Rutland 381cc2b970 arm64: treat unhandled compat el0 traps as undef
Currently, if a compat process reads or writes from/to a disabled
cp15/cp14 register, the trap is not handled by the el0_sync_compat
handler, and the kernel will head to bad_mode, where it will die(), and
oops(). For 64 bit processes, disabled system register accesses are
currently treated as unhandled instructions.

This patch modifies entry.S to treat these unhandled traps as undefined
instructions, sending a SIGILL to userspace. This gives processes a
chance to handle this and stop using inaccessible registers, and
prevents further issues in the kernel as a result of the die().

Reported-by: Johannes Jensen <Johannes.Jensen@arm.com>
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2013-05-31 16:04:44 +01:00
..
boot arm64: dts: fix #address-cells for foundation-v8 2013-05-08 10:23:01 +01:00
configs arm64: vexpress: Enable ARMv8 RTSM model (SoC) support 2013-04-26 14:44:05 +01:00
include arm64: debug: fix mdscr.ss check when enabling debug exceptions 2013-05-17 18:24:19 +01:00
kernel arm64: treat unhandled compat el0 traps as undef 2013-05-31 16:04:44 +01:00
lib arm64: Treat the bitops index argument as an 'int' 2013-05-08 10:33:17 +01:00
mm arm64: Do not report user faults for handled signals 2013-05-24 17:31:04 +01:00
Kconfig arm64: Do not source kernel/time/Kconfig explicitly 2013-05-14 15:44:51 +01:00
Kconfig.debug arm64: Kconfig.debug: Remove unused CONFIG_DEBUG_ERRORS 2013-03-19 16:19:19 +00:00
Makefile arm64: Fix the dtbs target building 2012-12-10 20:24:57 -06:00