KVM: nVMX: Move guest non-reg state checks to VM-Exit path
authorSean Christopherson <sean.j.christopherson@intel.com>
Thu, 11 Apr 2019 19:18:05 +0000 (12:18 -0700)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 16 Apr 2019 13:39:04 +0000 (15:39 +0200)
commit9c3e922ba316a5d3d8cbe41e0db97888fca5c359
tree3fc34c83ebeea29b447949b2f9f35c7ef6143cbd
parentde2bc2bfdf419ad9078736d88cae72beae972a59
KVM: nVMX: Move guest non-reg state checks to VM-Exit path

Per Intel's SDM, volume 3, section Checking and Loading Guest State:

  Because the checking and the loading occur concurrently, a failure may
  be discovered only after some state has been loaded. For this reason,
  the logical processor responds to such failures by loading state from
  the host-state area, as it would for a VM exit.

In other words, a failed non-register state consistency check results in
a VM-Exit, not VM-Fail.  Moving the non-reg state checks also paves the
way for renaming nested_vmx_check_vmentry_postreqs() to align with the
SDM, i.e. nested_vmx_check_vmentry_guest_state().

Fixes: 26539bd0e446a ("KVM: nVMX: check vmcs12 for valid activity state")
Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
Reviewed-by: Krish Sadhukhan <krish.sadhukhan@oracle.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/vmx/nested.c