Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

KVM: arm64: vgic-v4: Only WARN for HW IRQ mismatch when unmapping vLPI

The VMM or guest can easily screw up GICv4 vLPI injection by
misconfiguring the MSI or the virtual ITS. Don't fuss over it; limit the
WARN in vgic_v4_unset_forwarding() to fire in the worrying case where an
unrelated HW IRQ was mapped to a vLPI.

Reported-by: Sudheer Dantuluri <dantuluris@google.com>
Tested-by: Sudheer Dantuluri <dantuluris@google.com>
Acked-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20250226183124.82094-3-oliver.upton@linux.dev
Signed-off-by: Oliver Upton <oliver.upton@linux.dev>

+1 -1
+1 -1
arch/arm64/kvm/vgic/vgic-v4.c
··· 512 512 if (ret) 513 513 goto out; 514 514 515 - WARN_ON(!(irq->hw && irq->host_irq == virq)); 515 + WARN_ON(irq->hw && irq->host_irq != virq); 516 516 if (irq->hw) { 517 517 atomic_dec(&irq->target_vcpu->arch.vgic_cpu.vgic_v3.its_vpe.vlpi_count); 518 518 irq->hw = false;