[PATCH 0/2] KVM: arm64: vgic: LPI fixes for redistributors with LPIs disabled

Oliver Upton oupton at kernel.org
Tue Oct 27 16:53:17 PDT 2026


On Mon, Oct 26, 2026 at 09:28:00AM +0000, Fuad Tabba wrote:
> Hi folks,
> 
> Two fixes on top of Marc's cross-CPU vcpu pausing series [1], for LPIs
> whose redistributor has LPIs disabled. Without them, the guest can take
> such an LPI with EnableLPIs clear, or lose one mapped before it enables
> them.
> 
> The first is the vgic_target_oracle() change Oliver suggested on v2 of
> that series [2]. It stops an LPI from being queued to a redistributor
> with EnableLPIs clear once the disable path has retired the vCPU's AP
> list. With that check, the path has to pause the vCPU before clearing
> EnableLPIs, so that the retire still finds its LPIs.
> 
> With the second, an LPI mapped while its redistributor has LPIs
> disabled keeps its pending bit when they're enabled. The second relies
> on the first to keep such an LPI off the AP list until the enable.
> 
> Reproducers for the INVALL case in the first and the map in the second
> fail in every run without the patch and pass with it.
> 
> Based on kvm-arm64/cross-vcpu-sync as merged in kvmarm/fixes, which the
> first builds on (e99ff76f4a02b; also applies to kvmarm/fixes
> 309e1d2215255).
> 
> Cheers,
> /fuad
> 
> [1] https://lore.kernel.org/all/20261015100539.1011760-1-maz@kernel.org/
> [2] https://lore.kernel.org/all/asf87i2RDh-WksL-@kernel.org/
> 
> Fuad Tabba (2):
>   KVM: arm64: vgic: Don't forward LPIs to a redistributor with LPIs
>     disabled
>   KVM: arm64: vgic-v3: Don't drop a pending LPI mapped with LPIs
>     disabled

Reviewed-by: Oliver Upton <oupton at kernel.org>

>  arch/arm64/kvm/vgic/vgic-mmio-v3.c | 31 ++++++++++++++++--------------
>  arch/arm64/kvm/vgic/vgic-v3.c      |  3 ++-
>  arch/arm64/kvm/vgic/vgic.c         | 12 ++++++++----
>  3 files changed, 27 insertions(+), 19 deletions(-)
> 
> 
> base-commit: e99ff76f4a02be8542e2c3ecc8843d7339a0200d
> -- 
> 2.47.3
> 
> 



More information about the linux-arm-kernel mailing list