arm64: Call ARCH_WORKAROUND_2 on transitions between EL0 and EL1
authorMarc Zyngier <marc.zyngier@arm.com>
Tue, 29 May 2018 12:11:06 +0000 (13:11 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Thu, 31 May 2018 16:34:01 +0000 (17:34 +0100)
commit8e2906245f1e3b0d027169d9f2e55ce0548cb96e
tree99b55007a1884e2b97907eea5ee13f66d494c775
parenteff0e9e1078ea7dc1d794dc50e31baef984c46d7
arm64: Call ARCH_WORKAROUND_2 on transitions between EL0 and EL1

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>
arch/arm64/kernel/cpu_errata.c
arch/arm64/kernel/entry.S
include/linux/arm-smccc.h