Re: [PATCH v2] KVM: arm64: vgic: Do not remove in-flight LPIs from AP list on disable
From: Fuad Tabba
Date: Fri Sep 18 2026 - 03:23:08 EST
Hi Yuchao,
On Fri, 18 Sep 2026 12:02:14 +0800, Yuchao Zhang <ndaugoing@xxxxxxxxx> wrote:
[...]
> Note: this closes the primary race (the last_lr_irq node itself is no
> longer unlinkable while in-flight), but the fold traversal can still
> race with a remote flush unlinking a subsequent non-LR node in the
> ap_list tail. Fully closing that window needs the fold side to take
> references before dropping locks (in the spirit of the prune-side fix
> in commit 7258770e5814 ("KVM: arm64: vgic: Handle race between
> interrupt affinity change and LPI disabling")) and is left as a
> follow-up.
This is the same race Hyunwoo reported back in June [1]. You might
want to have a look at that thread first: Oliver and Marc's view there
was that the fix is to take the ap_list_lock in
vgic_v3_fold_lr_state() [2][3], and Hyunwoo posted a draft of that
[4].
Cheers,
/fuad
[1] https://lore.kernel.org/r/aiHrGM1f8czcUby4@v4bel
[2] https://lore.kernel.org/r/aiJi5a3JJ-TbWL-s@xxxxxxxxxx
[3] https://lore.kernel.org/r/87a4t99z9n.wl-maz@xxxxxxxxxx
[4] https://lore.kernel.org/r/aiXvwGD1hS6vwLEd@v4bel