]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
KVM: arm64: GICv3: Drop LPI active state when folding LRs
authorMarc Zyngier <maz@kernel.org>
Thu, 20 Nov 2025 17:25:00 +0000 (17:25 +0000)
committerOliver Upton <oupton@kernel.org>
Mon, 24 Nov 2025 22:29:12 +0000 (14:29 -0800)
commit73c9726975af1c2bf8d062017c67bcf4fb8821d5
tree2278699bc7a667537319b6d03faab200d9d834ed
parent0dc433e79ad031801842e3d8bc5d9729e14f5067
KVM: arm64: GICv3: Drop LPI active state when folding LRs

Despite LPIs not having an active state, *virtual* LPIs do have
one, which gets cleared on EOI. So far, so good.

However, this leads to a small problem: when an active LPI is not
in the LRs, that EOImode==0 and that the guest EOIs it, EOIcount
doesn't get bumped up. Which means that in these condition, the
LPI would stay active forever.

Clearly, we can't have that. So if we spot an active LPI, we drop
that state. It's pretty pointless anyway, and only serves as a way
to trip SW over.

Tested-by: Fuad Tabba <tabba@google.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Tested-by: Mark Brown <broonie@kernel.org>
Link: https://msgid.link/20251120172540.2267180-11-maz@kernel.org
Signed-off-by: Oliver Upton <oupton@kernel.org>
arch/arm64/kvm/vgic/vgic-v3.c