KVM: VMX: check for existence of secondary exec controls before accessing
authorSean Christopherson <sean.j.christopherson@intel.com>
Mon, 1 Oct 2018 21:25:34 +0000 (14:25 -0700)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 4 Oct 2018 11:40:21 +0000 (13:40 +0200)
commitfd6b6d9b82f97a851fb0078201ddc38fe9728cda
treeda59ad4082bb1aa09feac7d87cb2b79106107982
parentdaa07cbc9ae3da2d61b7ce900c0b9107d134f2c1
KVM: VMX: check for existence of secondary exec controls before accessing

Return early from vmx_set_virtual_apic_mode() if the processor doesn't
support VIRTUALIZE_APIC_ACCESSES or VIRTUALIZE_X2APIC_MODE, both of
which reside in SECONDARY_VM_EXEC_CONTROL.  This eliminates warnings
due to VMWRITEs to SECONDARY_VM_EXEC_CONTROL (VMCS field 401e) failing
on processors without secondary exec controls.

Remove the similar check for TPR shadowing as it is incorporated in the
flexpriority_enabled check and the APIC-related code in
vmx_update_msr_bitmap() is further gated by VIRTUALIZE_X2APIC_MODE.

Reported-by: Gerhard Wiesinger <redhat@wiesinger.com>
Fixes: 8d860bbeedef ("kvm: vmx: Basic APIC virtualization controls have three settings")
Cc: Jim Mattson <jmattson@google.com>
Cc: stable@vger.kernel.org
Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/vmx.c