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

Configure Feed

Select the types of activity you want to include in your feed.

KVM: arm64: vgic-v5: Make the effective priority mask a strict limit

The way the effective priority mask is compared to the priority of
an interrupt to decide whether to wake-up or not, is slightly odd,
and breaks at the limits.

This could result in spurious wake-ups that are undesirable.

Make the computed priority mask comparison a strict inequality, so
that interrupts that have the same priority as the mask are not
signalled.

Fixes: 933e5288fa971 ("KVM: arm64: gic-v5: Check for pending PPIs")
Link: https://sashiko.dev/#/patchset/20260319154937.3619520-1-sascha.bischoff%40arm.com
Link: https://patch.msgid.link/20260401103611.357092-10-maz@kernel.org
Signed-off-by: Marc Zyngier <maz@kernel.org>

+1 -1
+1 -1
arch/arm64/kvm/vgic/vgic-v5.c
··· 367 367 368 368 scoped_guard(raw_spinlock_irqsave, &irq->irq_lock) 369 369 has_pending = (irq->enabled && irq_is_pending(irq) && 370 - irq->priority <= priority_mask); 370 + irq->priority < priority_mask); 371 371 372 372 vgic_put_irq(vcpu->kvm, irq); 373 373