diff options
author | Marc Zyngier <maz@kernel.org> | 2020-07-16 18:11:08 +0200 |
---|---|---|
committer | Will Deacon <will@kernel.org> | 2020-09-21 19:31:09 +0200 |
commit | b11483ef5a502663732c6ca1b58d14ff9eedd6f7 (patch) | |
tree | 67883d1bcd74dba1a55215d4dbcaf840123bd8b6 | |
parent | Linux 5.9-rc3 (diff) | |
download | linux-b11483ef5a502663732c6ca1b58d14ff9eedd6f7.tar.xz linux-b11483ef5a502663732c6ca1b58d14ff9eedd6f7.zip |
arm64: Make use of ARCH_WORKAROUND_1 even when KVM is not enabled
We seem to be pretending that we don't have any firmware mitigation
when KVM is not compiled in, which is not quite expected.
Bring back the mitigation in this case.
Fixes: 4db61fef16a1 ("arm64: kvm: Modernize __smccc_workaround_1_smc_start annotations")
Cc: <stable@vger.kernel.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Will Deacon <will@kernel.org>
-rw-r--r-- | arch/arm64/kernel/cpu_errata.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/arm64/kernel/cpu_errata.c b/arch/arm64/kernel/cpu_errata.c index c332d49780dc..88966496806a 100644 --- a/arch/arm64/kernel/cpu_errata.c +++ b/arch/arm64/kernel/cpu_errata.c @@ -234,14 +234,17 @@ static int detect_harden_bp_fw(void) smccc_end = NULL; break; -#if IS_ENABLED(CONFIG_KVM) case SMCCC_CONDUIT_SMC: cb = call_smc_arch_workaround_1; +#if IS_ENABLED(CONFIG_KVM) smccc_start = __smccc_workaround_1_smc; smccc_end = __smccc_workaround_1_smc + __SMCCC_WORKAROUND_1_SMC_SZ; - break; +#else + smccc_start = NULL; + smccc_end = NULL; #endif + break; default: return -1; |