Fix another case where KVM overrides the VMX MSRs (well, just the one MSR) during KVM_SET_CPUID. Similar to somewhat recent reverts 8805875aa473 ("Revert "KVM: nVMX: Do not expose MPX VMX controls when guest MPX disabled"") 9389d5774aca ("Revert "KVM: nVMX: Expose load IA32_PERF_GLOBAL_CTRL VM-{Entry,Exit} control"") undo misguided KVM behavior where KVM overrides allowed-1 settings in the secondary execution controls in response to changes to the guest's CPUID model. To avoid breaking userspace that doesn't take ownership of the VMX MSRs, go hands off if and only if userpace sets the MSR in question Sean Christopherson (2): KVM: nVMX: Don't muck with allowed sec exec controls on CPUID changes KVM: selftests: Test KVM's handling of VMX's sec exec MSR on KVM_SET_CPUID arch/x86/kvm/vmx/capabilities.h | 1 + arch/x86/kvm/vmx/nested.c | 3 + arch/x86/kvm/vmx/vmx.c | 2 +- .../selftests/kvm/include/x86_64/processor.h | 1 + .../selftests/kvm/include/x86_64/vmx.h | 4 +- .../selftests/kvm/x86_64/vmx_msrs_test.c | 92 +++++++++++++++++++ 6 files changed, 100 insertions(+), 3 deletions(-) base-commit: d663b8a285986072428a6a145e5994bc275df994 -- 2.38.1.431.g37b22c650d-goog