]> git.dujemihanovic.xyz Git - linux.git/commitdiff
KVM: x86: ignore APICv if LAPIC is not enabled
authorPaolo Bonzini <pbonzini@redhat.com>
Wed, 17 Nov 2021 12:35:44 +0000 (07:35 -0500)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 26 Nov 2021 11:43:29 +0000 (06:43 -0500)
Synchronize the two calls to kvm_x86_sync_pir_to_irr.  The one
in the reenter-guest fast path invoked the callback unconditionally
even if LAPIC is present but disabled.  In this case, there are
no interrupts to deliver, and therefore posted interrupts can
be ignored.

Cc: stable@vger.kernel.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/x86.c

index 5a403d92833f51e4f77d6fd67b38fd85efddb698..441f4769173e0353a1a0a41e3d82efd04b34f715 100644 (file)
@@ -9849,7 +9849,7 @@ static int vcpu_enter_guest(struct kvm_vcpu *vcpu)
                if (likely(exit_fastpath != EXIT_FASTPATH_REENTER_GUEST))
                        break;
 
-               if (vcpu->arch.apicv_active)
+               if (kvm_lapic_enabled(vcpu) && vcpu->arch.apicv_active)
                        static_call(kvm_x86_sync_pir_to_irr)(vcpu);
 
                if (unlikely(kvm_vcpu_exit_request(vcpu))) {