Message ID | 20240806125442.1603-4-ravi.bangoria@amd.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | x86/cpu: Add Bus Lock Detect support for AMD | expand |
On 8/6/24 07:54, Ravi Bangoria wrote: > If host supports Bus Lock Detect, KVM advertises it to guests even if > SVM support is absent. Additionally, guest wouldn't be able to use it > despite guest CPUID bit being set. Fix it by unconditionally clearing > the feature bit in KVM cpu capability. > > Reported-by: Jim Mattson <jmattson@google.com> > Closes: https://lore.kernel.org/r/CALMp9eRet6+v8Y1Q-i6mqPm4hUow_kJNhmVHfOV8tMfuSS=tVg@mail.gmail.com > Fixes: 76ea438b4afc ("KVM: X86: Expose bus lock debug exception to guest") > Cc: stable@vger.kernel.org > Signed-off-by: Ravi Bangoria <ravi.bangoria@amd.com> > Reviewed-by: Jim Mattson <jmattson@google.com> Reviewed-by: Tom Lendacky <thomas.lendacky@amd.com> > --- > arch/x86/kvm/svm/svm.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c > index c115d26844f7..85631112c872 100644 > --- a/arch/x86/kvm/svm/svm.c > +++ b/arch/x86/kvm/svm/svm.c > @@ -5223,6 +5223,9 @@ static __init void svm_set_cpu_caps(void) > > /* CPUID 0x8000001F (SME/SEV features) */ > sev_set_cpu_caps(); > + > + /* Don't advertise Bus Lock Detect to guest if SVM support is absent */ > + kvm_cpu_cap_clear(X86_FEATURE_BUS_LOCK_DETECT); > } > > static __init int svm_hardware_setup(void)
diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c index c115d26844f7..85631112c872 100644 --- a/arch/x86/kvm/svm/svm.c +++ b/arch/x86/kvm/svm/svm.c @@ -5223,6 +5223,9 @@ static __init void svm_set_cpu_caps(void) /* CPUID 0x8000001F (SME/SEV features) */ sev_set_cpu_caps(); + + /* Don't advertise Bus Lock Detect to guest if SVM support is absent */ + kvm_cpu_cap_clear(X86_FEATURE_BUS_LOCK_DETECT); } static __init int svm_hardware_setup(void)