diff options
author | Sean Christopherson <seanjc@google.com> | 2022-07-28 01:34:22 +0200 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2022-08-10 21:08:30 +0200 |
commit | 17a024a8b981243fa1d17cf0084de43cc5f9b603 (patch) | |
tree | 8502670721aa0d948855fc658d2892644b3d5299 /arch | |
parent | KVM: selftests: Test all possible "invalid" PERF_CAPABILITIES.LBR_FMT vals (diff) | |
download | linux-17a024a8b981243fa1d17cf0084de43cc5f9b603.tar.xz linux-17a024a8b981243fa1d17cf0084de43cc5f9b603.zip |
KVM: x86: Refresh PMU after writes to MSR_IA32_PERF_CAPABILITIES
Refresh the PMU if userspace modifies MSR_IA32_PERF_CAPABILITIES. KVM
consumes the vCPU's PERF_CAPABILITIES when enumerating PEBS support, but
relies on CPUID updates to refresh the PMU. I.e. KVM will do the wrong
thing if userspace stuffs PERF_CAPABILITIES _after_ setting guest CPUID.
Opportunistically fix a curly-brace indentation.
Fixes: c59a1f106f5c ("KVM: x86/pmu: Add IA32_PEBS_ENABLE MSR emulation for extended PEBS")
Cc: Like Xu <like.xu.linux@gmail.com>
Signed-off-by: Sean Christopherson <seanjc@google.com>
Message-Id: <20220727233424.2968356-2-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/kvm/x86.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 924016d54fbf..132d662d9713 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -3546,9 +3546,9 @@ int kvm_set_msr_common(struct kvm_vcpu *vcpu, struct msr_data *msr_info) return 1; vcpu->arch.perf_capabilities = data; - + kvm_pmu_refresh(vcpu); return 0; - } + } case MSR_EFER: return set_efer(vcpu, msr_info); case MSR_K7_HWCR: |