• Sean Christopherson's avatar
    KVM: x86: Move nEPT exit_qualification field from kvm_vcpu_arch to x86_exception · a9466078
    Sean Christopherson authored
    Move the exit_qualification field that is used to track information about
    in-flight nEPT violations from "struct kvm_vcpu_arch" to "x86_exception",
    i.e. associate the information with the actual nEPT violation instead of
    the vCPU.  To handle bits that are pulled from vmcs.EXIT_QUALIFICATION,
    i.e. that are propagated from the "original" EPT violation VM-Exit, simply
    grab them from the VMCS on-demand when injecting a nEPT Violation or a PML
    Full VM-exit.
    
    Aside from being ugly, having an exit_qualification field in kvm_vcpu_arch
    is outright dangerous, e.g. see commit d7f0a00e ("KVM: VMX: Report
    up-to-date exit qualification to userspace").
    
    Opportunstically add a comment to call out that PML Full and EPT Violation
    VM-Exits use the same bit to report NMI blocking information.
    
    Link: https://lore.kernel.org/r/20240209221700.393189-3-seanjc@google.comSigned-off-by: default avatarSean Christopherson <seanjc@google.com>
    a9466078
vmx.c 250 KB