• Sean Christopherson's avatar
    KVM: nVMX: Explicitly check for valid guest state for !unrestricted guest · 2ba4493a
    Sean Christopherson authored
    Call guest_state_valid() directly instead of querying emulation_required
    when checking if L1 is attempting VM-Enter with invalid guest state.
    If emulate_invalid_guest_state is false, KVM will fixup segment regs to
    avoid emulation and will never set emulation_required, i.e. KVM will
    incorrectly miss the associated consistency checks because the nested
    path stuffs segments directly into vmcs02.
    
    Opportunsitically add Consistency Check tracing to make future debug
    suck a little less.
    
    Fixes: 2bb8cafe ("KVM: vVMX: signal failure for nested VMEntry if emulation_required")
    Fixes: 3184a995 ("KVM: nVMX: fix vmentry failure code when L2 state would require emulation")
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarSean Christopherson <sean.j.christopherson@intel.com>
    Message-Id: <20200923184452.980-4-sean.j.christopherson@intel.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    2ba4493a
vmx.c 218 KB