]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
KVM: nVMX: Drop a superfluous WARN on reflecting EXTERNAL_INTERRUPT
authorSean Christopherson <sean.j.christopherson@intel.com>
Wed, 15 Apr 2020 17:55:15 +0000 (10:55 -0700)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 21 Apr 2020 13:13:04 +0000 (09:13 -0400)
Drop the WARN in nested_vmx_reflect_vmexit() that fires if KVM attempts
to reflect an external interrupt.  The WARN is blatantly impossible to
hit now that nested_vmx_l0_wants_exit() is called from
nested_vmx_reflect_vmexit() unconditionally returns true for
EXTERNAL_INTERRUPT.

Reviewed-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
Message-Id: <20200415175519.14230-7-sean.j.christopherson@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/vmx/nested.c

index c2745cd9e02214a8adcb380a0310844009a31b72..e8db560ee3eb2375bb1d064d91dd811dce9da493 100644 (file)
@@ -5863,12 +5863,11 @@ bool nested_vmx_reflect_vmexit(struct kvm_vcpu *vcpu, u32 exit_reason)
                return false;
 
        /*
-        * At this point, the exit interruption info in exit_intr_info
-        * is only valid for EXCEPTION_NMI exits.  For EXTERNAL_INTERRUPT
-        * we need to query the in-kernel LAPIC.
+        * vmcs.VM_EXIT_INTR_INFO is only valid for EXCEPTION_NMI exits.  For
+        * EXTERNAL_INTERRUPT, the value for vmcs12->vm_exit_intr_info would
+        * need to be synthesized by querying the in-kernel LAPIC, but external
+        * interrupts are never reflected to L1 so it's a non-issue.
         */
-       WARN_ON(exit_reason == EXIT_REASON_EXTERNAL_INTERRUPT);
-
        if ((exit_intr_info &
             (INTR_INFO_VALID_MASK | INTR_INFO_DELIVER_CODE_MASK)) ==
            (INTR_INFO_VALID_MASK | INTR_INFO_DELIVER_CODE_MASK)) {