diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2020-07-27 14:55:09 +0200 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2020-07-27 15:04:50 +0200 |
commit | 5e105c88ab4859bc1aedd29e8d2f55e599427035 (patch) | |
tree | 47660c0aef5e3bbf49b967395b3a7ccfba42664a /arch/x86 | |
parent | KVM: nVMX: check for required but missing VMCS12 in KVM_SET_NESTED_STATE (diff) | |
download | linux-5e105c88ab4859bc1aedd29e8d2f55e599427035.tar.xz linux-5e105c88ab4859bc1aedd29e8d2f55e599427035.zip |
KVM: nVMX: check for invalid hdr.vmx.flags
hdr.vmx.flags is meant for future extensions to the ABI, rejecting
invalid flags is necessary to avoid broken half-loads of the
nVMX state.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/kvm/vmx/nested.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86/kvm/vmx/nested.c b/arch/x86/kvm/vmx/nested.c index 6a0e32a7418c..11e4df560018 100644 --- a/arch/x86/kvm/vmx/nested.c +++ b/arch/x86/kvm/vmx/nested.c @@ -6079,6 +6079,9 @@ static int vmx_set_nested_state(struct kvm_vcpu *vcpu, ~(KVM_STATE_NESTED_SMM_GUEST_MODE | KVM_STATE_NESTED_SMM_VMXON)) return -EINVAL; + if (kvm_state->hdr.vmx.flags & ~KVM_STATE_VMX_PREEMPTION_TIMER_DEADLINE) + return -EINVAL; + /* * SMM temporarily disables VMX, so we cannot be in guest mode, * nor can VMLAUNCH/VMRESUME be pending. Outside SMM, SMM flags |