[PATCH 0/5] KVM: VMX: PERF_GLOBAL_CTRL fixes

From: Sean Christopherson
Date: Fri Jul 22 2022 - 18:44:21 EST


This is intended as a replacement for commit 00590a384408 ("Revert "KVM:
nVMX: Expose load IA32_PERF_GLOBAL_CTRL VM-{Entry,Exit} control"").

The basic idea is the same, except instead of skipping the load if
the desired value is the same, skip the load if the MSR doesn't exist.
AFAICT, that plugs all holes where a mischievious usersepace can get
KVM to WARN.

I dropped the CR4 changes for now. I'd still prefer to give userspace
control, but AFAIK it doesn't cause problems, yet...

Paolo Bonzini (1):
Revert "KVM: nVMX: Expose load IA32_PERF_GLOBAL_CTRL VM-{Entry,Exit}
control"

Sean Christopherson (4):
Revert "Revert "KVM: nVMX: Expose load IA32_PERF_GLOBAL_CTRL
VM-{Entry,Exit} control""
KVM: VMX: Mark all PERF_GLOBAL_(OVF)_CTRL bits reserved if there's no
vPMU
KVM: VMX: Add helper to check if the guest PMU has PERF_GLOBAL_CTRL
KVM: nVMX: Attempt to load PERF_GLOBAL_CTRL on nVMX xfer iff it exists

arch/x86/kvm/vmx/nested.c | 6 +++---
arch/x86/kvm/vmx/pmu_intel.c | 6 ++++--
arch/x86/kvm/vmx/vmx.h | 12 ++++++++++++
3 files changed, 19 insertions(+), 5 deletions(-)


base-commit: 1a4d88a361af4f2e91861d632c6a1fe87a9665c2
--
2.37.1.359.gd136c6c3e2-goog