FAILED: patch "[PATCH] arm64: KVM: Use SMCCC_ARCH_WORKAROUND_1 for Falkor BP" failed to apply to 4.16-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 4.16-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
Quoted 1 line
From
4bc352ffb39e4eec253e70f8c076f2f48a6c1926Mon Sep 17 00:00:00 2001
From: Shanker Donthineni <[email protected]>
Date: Tue, 10 Apr 2018 11:36:42 +0100
Subject: [PATCH] arm64: KVM: Use SMCCC_ARCH_WORKAROUND_1 for Falkor BP
hardening
The function SMCCC_ARCH_WORKAROUND_1 was introduced as part of SMC V1.1 Calling Convention to mitigate CVE-2017-5715. This patch uses the standard call SMCCC_ARCH_WORKAROUND_1 for Falkor chips instead of Silicon provider service ID 0xC2001700.
arch/arm64/include/asm/cpucaps.h +6 -7
@@ -43,13 +43,12 @@#define ARM64_SVE 22#define ARM64_UNMAP_KERNEL_AT_EL0 23#define ARM64_HARDEN_BRANCH_PREDICTOR 24 -#define ARM64_HARDEN_BP_POST_GUEST_EXIT 25 -#define ARM64_HAS_RAS_EXTN 26 -#define ARM64_WORKAROUND_843419 27 -#define ARM64_HAS_CACHE_IDC 28 -#define ARM64_HAS_CACHE_DIC 29 -#define ARM64_HW_DBM 30 +#define ARM64_HAS_RAS_EXTN 25 +#define ARM64_WORKAROUND_843419 26 +#define ARM64_HAS_CACHE_IDC 27 +#define ARM64_HAS_CACHE_DIC 28 +#define ARM64_HW_DBM 29 -#define ARM64_NCAPS 31 +#define ARM64_NCAPS 30#endif /* __ASM_CPUCAPS_H */
arch/arm64/include/asm/kvm_asm.h +0 -2
@@ -71,8 +71,6 @@ extern u32 __kvm_get_mdcr_el2(void);extern u32 __init_stage2_translation (void ); -extern void __qcom_hyp_sanitize_btac_predictors (void ); -#else /* __ASSEMBLY__ */ .macro get_host_ctxt reg, tmp
arch/arm64/kernel/bpi.S +0 -8
@@ -74,14 +74,6 @@ ENTRY(__bp_harden_hyp_vecs_end) .popsection -ENTRY(__qcom_hyp_sanitize_link_stack_start) - stp x29, x30, [sp, #-16]! - .rept 16 - bl . + 4 - .endr - ldp x29, x30, [sp], #16 -ENTRY(__qcom_hyp_sanitize_link_stack_end) - .macro smccc_workaround_1 inst sub sp, sp, #(8 * 4) stp x2, x3, [sp, #(8 * 0)]
arch/arm64/kernel/cpu_errata.c +19 -47
117 lines not on this page · raw message
arch/arm64/kvm/hyp/entry.S +0 -12
@@ -209,15 +209,3 @@ alternative_endif eret ENDPROC(__fpsimd_guest_restore) - -ENTRY(__qcom_hyp_sanitize_btac_predictors) - /** - * Call SMC64 with Silicon provider serviceID 23<<8 (0xc2001700) - * 0xC2000000-0xC200FFFF: assigned to SiP Service Calls - * b15-b0: contains SiP functionID - */ - movz x0, #0x1700 - movk x0, #0xc200, lsl #16 - smc #0 - ret -ENDPROC(__qcom_hyp_sanitize_btac_predictors)
arch/arm64/kvm/hyp/switch.c +0 -10
@@ -472,16 +472,6 @@ int __hyp_text __kvm_vcpu_run_nvhe(struct kvm_vcpu *vcpu)/* And we're baaack! */ }while (fixup_guest_exit (vcpu, &exit_code)); -if (cpus_have_const_cap (ARM64_HARDEN_BP_POST_GUEST_EXIT )) { -u32 midr =read_cpuid_id (); - -/* Apply BTAC predictors mitigation to all Falkor chips */ -if (((midr &MIDR_CPU_MODEL_MASK ) ==MIDR_QCOM_FALKOR ) || - ((midr &MIDR_CPU_MODEL_MASK ) ==MIDR_QCOM_FALKOR_V1 )) { -__qcom_hyp_sanitize_btac_predictors (); - } - } - fp_enabled =__fpsimd_enabled_nvhe ();__sysreg_save_state_nvhe (guest_ctxt);