summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorMarc Zyngier <marc.zyngier@arm.com>2018-07-20 10:47:10 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-07-22 15:16:07 +0200
commit55e72ae8b2dd30c369f678828bbbc3586b729b07 (patch)
treebe3273a58265b4c1db3203350d4f13affbf0cbc2 /include
parente27fa3220ca328c5cc090e9bd7a54016e3a00d17 (diff)
downloadlinux-stable-55e72ae8b2dd30c369f678828bbbc3586b729b07.tar.gz
linux-stable-55e72ae8b2dd30c369f678828bbbc3586b729b07.tar.bz2
linux-stable-55e72ae8b2dd30c369f678828bbbc3586b729b07.zip
arm64: Call ARCH_WORKAROUND_2 on transitions between EL0 and EL1
commit 8e2906245f1e3b0d027169d9f2e55ce0548cb96e upstream. In order for the kernel to protect itself, let's call the SSBD mitigation implemented by the higher exception level (either hypervisor or firmware) on each transition between userspace and kernel. We must take the PSCI conduit into account in order to target the right exception level, hence the introduction of a runtime patching callback. Reviewed-by: Mark Rutland <mark.rutland@arm.com> Reviewed-by: Julien Grall <julien.grall@arm.com> Acked-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/arm-smccc.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/arm-smccc.h b/include/linux/arm-smccc.h
index c89da86de99f..ca1d2cc2cdfa 100644
--- a/include/linux/arm-smccc.h
+++ b/include/linux/arm-smccc.h
@@ -80,6 +80,11 @@
ARM_SMCCC_SMC_32, \
0, 0x8000)
+#define ARM_SMCCC_ARCH_WORKAROUND_2 \
+ ARM_SMCCC_CALL_VAL(ARM_SMCCC_FAST_CALL, \
+ ARM_SMCCC_SMC_32, \
+ 0, 0x7fff)
+
#ifndef __ASSEMBLY__
#include <linux/linkage.h>