]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
KVM: x86: Skip IOMMU IRTE updates if there's no old or new vCPU being targeted
authorSean Christopherson <seanjc@google.com>
Wed, 11 Jun 2025 22:45:38 +0000 (15:45 -0700)
committerSean Christopherson <seanjc@google.com>
Mon, 23 Jun 2025 16:50:34 +0000 (09:50 -0700)
Don't "reconfigure" an IRTE into host controlled mode when it's already in
the state, i.e. if KVM's GSI routing changes but the IRQ wasn't and still
isn't being posted to a vCPU.

Link: https://lore.kernel.org/r/20250611224604.313496-37-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
arch/x86/kvm/irq.c

index 5b3f721808d5968d3eb22e62ec91c73e44742516..ecebd150c2f7f980d009a783cd2c558d0a64f429 100644 (file)
@@ -542,6 +542,9 @@ static int kvm_pi_update_irte(struct kvm_kernel_irqfd *irqfd,
                        vcpu = NULL;
        }
 
+       if (!irqfd->irq_bypass_vcpu && !vcpu)
+               return 0;
+
        r = kvm_x86_call(pi_update_irte)(irqfd, irqfd->kvm, host_irq, irqfd->gsi,
                                         vcpu, irq.vector);
        if (r) {