linux/arch/x86/kvm/vmx
Jim Mattson 85c9aae9ac kvm: nVMX: Relax guest IA32_FEATURE_CONTROL constraints
Commit 37e4c997da ("KVM: VMX: validate individual bits of guest
MSR_IA32_FEATURE_CONTROL") broke the KVM_SET_MSRS ABI by instituting
new constraints on the data values that kvm would accept for the guest
MSR, IA32_FEATURE_CONTROL. Perhaps these constraints should have been
opt-in via a new KVM capability, but they were applied
indiscriminately, breaking at least one existing hypervisor.

Relax the constraints to allow either or both of
FEATURE_CONTROL_VMXON_ENABLED_OUTSIDE_SMX and
FEATURE_CONTROL_VMXON_ENABLED_INSIDE_SMX to be set when nVMX is
enabled. This change is sufficient to fix the aforementioned breakage.

Fixes: 37e4c997da ("KVM: VMX: validate individual bits of guest MSR_IA32_FEATURE_CONTROL")
Signed-off-by: Jim Mattson <jmattson@google.com>
Reviewed-by: Liran Alon <liran.alon@oracle.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2019-11-23 11:34:46 +01:00
..
capabilities.h KVM: x86: Add support for user wait instructions 2019-09-24 14:34:20 +02:00
evmcs.c x86/kvm/nVMX: fix VMCLEAR when Enlightened VMCS is in use 2019-07-02 18:56:00 +02:00
evmcs.h KVM/Hyper-V/VMX: Add direct tlb flush support 2019-09-24 13:37:14 +02:00
nested.c KVM: nVMX: Remove unnecessary TLB flushes on L1<->L2 switches when L1 use apic-access-page 2019-11-21 12:03:50 +01:00
nested.h Merge branch 'kvm-tsx-ctrl' into HEAD 2019-11-21 12:03:40 +01:00
ops.h KVM: VMX: Add error handling to VMREAD helper 2019-09-25 15:30:09 +02:00
pmu_intel.c KVM: nVMX: Expose load IA32_PERF_GLOBAL_CTRL VM-{Entry,Exit} control 2019-11-15 11:44:16 +01:00
vmcs.h KVM: VMX: Leave preemption timer running when it's disabled 2019-06-18 17:10:46 +02:00
vmcs12.c KVM: nVMX: Move vmcs12 code to dedicated files 2018-12-14 12:34:30 +01:00
vmcs12.h KVM/arm updates for 5.3 2019-07-11 15:14:16 +02:00
vmcs_shadow_fields.h KVM: nVMX: shadow pin based execution controls 2019-06-18 17:10:50 +02:00
vmenter.S KVM: VMX: Fix and tweak the comments for VM-Enter 2019-08-22 10:09:27 +02:00
vmx.c kvm: nVMX: Relax guest IA32_FEATURE_CONTROL constraints 2019-11-23 11:34:46 +01:00
vmx.h Merge branch 'kvm-tsx-ctrl' into HEAD 2019-11-21 12:03:40 +01:00