From: Marc Zyngier <[email protected]>

commit b11483ef5a502663732c6ca1b58d14ff9eedd6f7 upstream.

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: <[email protected]>
Signed-off-by: Marc Zyngier <[email protected]>
Signed-off-by: Will Deacon <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
 arch/arm64/kernel/cpu_errata.c |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

--- 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;


Reply via email to