]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
KVM: x86: WARN if IRQ bypass isn't supported in kvm_pi_update_irte()
authorSean Christopherson <seanjc@google.com>
Wed, 11 Jun 2025 22:45:53 +0000 (15:45 -0700)
committerSean Christopherson <seanjc@google.com>
Mon, 23 Jun 2025 16:50:44 +0000 (09:50 -0700)
WARN if kvm_pi_update_irte() is reached without IRQ bypass support, as the
code is only reachable if the VM already has an IRQ bypass producer (see
kvm_irq_routing_update()), or from kvm_arch_irq_bypass_{add,del}_producer(),
which, stating the obvious, are called if and only if KVM enables its IRQ
bypass hooks.

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

index b3b6cf5b828ae009e9935aaa2b3fa5349f2285c8..81a19d6afe44f2a6eccbe72ea8d740d22a5513c8 100644 (file)
@@ -517,7 +517,7 @@ static int kvm_pi_update_irte(struct kvm_kernel_irqfd *irqfd,
        struct kvm_lapic_irq irq;
        int r;
 
-       if (!irqchip_in_kernel(kvm) || !kvm_arch_has_irq_bypass())
+       if (!irqchip_in_kernel(kvm) || WARN_ON_ONCE(!kvm_arch_has_irq_bypass()))
                return 0;
 
        if (entry && entry->type == KVM_IRQ_ROUTING_MSI) {