• Sean Christopherson's avatar
    KVM: x86: Handle triple fault in L2 without killing L1 · cb6a32c2
    Sean Christopherson authored
    Synthesize a nested VM-Exit if L2 triggers an emulated triple fault
    instead of exiting to userspace, which likely will kill L1.  Any flow
    that does KVM_REQ_TRIPLE_FAULT is suspect, but the most common scenario
    for L2 killing L1 is if L0 (KVM) intercepts a contributory exception that
    is _not_intercepted by L1.  E.g. if KVM is intercepting #GPs for the
    VMware backdoor, a #GP that occurs in L2 while vectoring an injected #DF
    will cause KVM to emulate triple fault.
    
    Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
    Cc: Jim Mattson <jmattson@google.com>
    Signed-off-by: default avatarSean Christopherson <seanjc@google.com>
    Message-Id: <20210302174515.2812275-2-seanjc@google.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    cb6a32c2
x86.c 306 KB