KVM: VMX: Always treat MSR_IA32_PERF_CAPABILITIES as a valid PMU MSR
authorSean Christopherson <sean.j.christopherson@intel.com>
Wed, 3 Jun 2020 20:33:03 +0000 (13:33 -0700)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 4 Jun 2020 16:20:44 +0000 (12:20 -0400)
Unconditionally return true when querying the validity of
MSR_IA32_PERF_CAPABILITIES so as to defer the validity check to
intel_pmu_{get,set}_msr(), which can properly give the MSR a pass when
the access is initiated from host userspace.  The MSR is emulated so
there is no underlying hardware dependency to worry about.

Fixes: 27461da31089a ("KVM: x86/pmu: Support full width counting")
Cc: Like Xu <like.xu@linux.intel.com>
Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
Message-Id: <20200603203303.28545-1-sean.j.christopherson@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/vmx/pmu_intel.c

index d33d890b605f82e17243e44bb2286877d4a92e88..bdcce65c7a1de72c77a19ce385c6f7e401d2b7f2 100644 (file)
@@ -181,7 +181,7 @@ static bool intel_is_valid_msr(struct kvm_vcpu *vcpu, u32 msr)
                ret = pmu->version > 1;
                break;
        case MSR_IA32_PERF_CAPABILITIES:
-               ret = guest_cpuid_has(vcpu, X86_FEATURE_PDCM);
+               ret = 1;
                break;
        default:
                ret = get_gp_pmc(pmu, msr, MSR_IA32_PERFCTR0) ||