summaryrefslogtreecommitdiff
path: root/arch/arm64/include/asm/ptrace.h
diff options
context:
space:
mode:
authorChristoffer Dall <christoffer.dall@arm.com>2018-10-17 21:21:16 +0300
committerMarc Zyngier <marc.zyngier@arm.com>2018-10-19 13:13:03 +0300
commite4e11cc0f81ee7be17d6f6fb96128a6d51c0e838 (patch)
tree16a1070795b753152fff3b97c20f7bdc18123a0c /arch/arm64/include/asm/ptrace.h
parent58bf437ff64eac8aca606e42d7e4623e40b61fa1 (diff)
downloadlinux-e4e11cc0f81ee7be17d6f6fb96128a6d51c0e838.tar.xz
KVM: arm64: Safety check PSTATE when entering guest and handle IL
This commit adds a paranoid check when entering the guest to make sure we don't attempt running guest code in an equally or more privilged mode than the hypervisor. We also catch other accidental programming of the SPSR_EL2 which results in an illegal exception return and report this safely back to the user. Signed-off-by: Christoffer Dall <christoffer.dall@arm.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Diffstat (limited to 'arch/arm64/include/asm/ptrace.h')
-rw-r--r--arch/arm64/include/asm/ptrace.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm64/include/asm/ptrace.h b/arch/arm64/include/asm/ptrace.h
index 177b851ca6d9..ff35ac1258eb 100644
--- a/arch/arm64/include/asm/ptrace.h
+++ b/arch/arm64/include/asm/ptrace.h
@@ -25,6 +25,9 @@
#define CurrentEL_EL1 (1 << 2)
#define CurrentEL_EL2 (2 << 2)
+/* Additional SPSR bits not exposed in the UABI */
+#define PSR_IL_BIT (1 << 20)
+
/* AArch32-specific ptrace requests */
#define COMPAT_PTRACE_GETREGS 12
#define COMPAT_PTRACE_SETREGS 13