mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v6 0/2] KVM: arm64: vgic: Fix racy LPI release and re-registration handling
@ 2026-07-15 10:51 Carlos López
  2026-07-15 10:51 ` [PATCH v6 1/2] KVM: arm64: vgic: Fix race between LPI release and re-registration Carlos López
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Carlos López @ 2026-07-15 10:51 UTC (permalink / raw)
  To: kvmarm, linux-kernel
  Cc: maz, oupton, joey.gouly, seiden, suzuki.poulose, yuzenghui,
	catalin.marinas, will, linux-arm-kernel, Carlos López

Fix a couple of potential issues that could arise from racy LPI release
and re-registration for the same INTID.

The issue fixed in patch 1 can manifest itself through either a
leaked LPI structure, or a prematurely deleted LPI. The issue fixed
in patch 2 could materialize as a spurious -ENOMEM failure when
registering an LPI.

v6:
* Remove pending_release in patch 1, preventing use-after-free and/or
  spurious WARNs.
* Avoid lock inversion via xa_release() (Sashiko).

v5:
* Make sure evicted IRQs on the registration path are pending
  release (Oliver Upton).

v4:
* Add __GFP_ACCOUNT to patch 2 (Sashiko).

v3:
* Use refcount_dec_and_lock_irqsave() instead of unconditionally
  grabbing the xarray lock in patch 1.
* Add patch 2.

v2:
* Address Sashiko's review. Fix the direct release path by decrementing
  the refcount under the xarray spinlock, preventing a UAF that would
  have been introduced in v1.

Carlos López (2):
  KVM: arm64: vgic: Fix race between LPI release and re-registration
  KVM: arm64: vgic: Mitigate potential LPI registration failure

 arch/arm64/kvm/vgic/vgic-its.c | 25 +++++++++++++++++--------
 arch/arm64/kvm/vgic/vgic.c     | 18 ++++++++----------
 include/kvm/arm_vgic.h         |  3 ---
 3 files changed, 25 insertions(+), 21 deletions(-)


base-commit: 1ee27dacbe5dc4def481794d899d67b0d4570094
-- 
2.51.0


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-07-23 16:11 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-07-15 10:51 [PATCH v6 0/2] KVM: arm64: vgic: Fix racy LPI release and re-registration handling Carlos López
2026-07-15 10:51 ` [PATCH v6 1/2] KVM: arm64: vgic: Fix race between LPI release and re-registration Carlos López
2026-07-15 10:51 ` [PATCH v6 2/2] KVM: arm64: vgic: Mitigate potential LPI registration failure Carlos López
2026-07-23 16:11 ` [PATCH v6 0/2] KVM: arm64: vgic: Fix racy LPI release and re-registration handling Marc Zyngier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®