Commit 13bba09b authored by Oliver Upton's avatar Oliver Upton
Browse files

KVM: arm64: vgic-v3: Indicate vgic_put_irq() may take LPI xarray lock



The release path on LPIs is quite rare, meaning it can be difficult to
find lock ordering bugs on the LPI xarray's spinlock. Tell lockdep that
vgic_put_irq() might acquire the xa_lock to make unsafe patterns more
obvious.

Reviewed-by: default avatarMarc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20250905100531.282980-7-oliver.upton@linux.dev


Signed-off-by: default avatarOliver Upton <oliver.upton@linux.dev>
parent 982f31bb
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -142,6 +142,9 @@ void vgic_put_irq(struct kvm *kvm, struct vgic_irq *irq)
{
	struct vgic_dist *dist = &kvm->arch.vgic;

	if (irq->intid >= VGIC_MIN_LPI)
		might_lock(&dist->lpi_xa.xa_lock);

	if (!__vgic_put_irq(kvm, irq))
		return;