diff options
| author | Karl Mehltretter <kmehltretter@gmail.com> | 2026-07-26 19:48:03 +0200 |
|---|---|---|
| committer | Oliver Upton <oupton@kernel.org> | 2026-08-11 10:40:48 -0700 |
| commit | c6d9c8ac6521d3049ec90ac58bebd23ed03ac496 (patch) | |
| tree | 59fcbdaa6b37457d7bafb7890dfaf23c6e38d983 /include/linux | |
| parent | 47746d4b7436ba802f6d7627118649ae108ee24a (diff) | |
KVM: arm64: GICv2: Don't WARN on out-of-range GICV_DIR INTID
vgic_v2_deactivate() passes the INTID a guest wrote to GICV_DIR straight
to vgic_get_vcpu_irq(), and treats a failed lookup as a "can't happen"
condition with WARN_ON_ONCE().
The guest can make it happen at will, though: for any INTID outside of
the implemented SGI, PPI and SPI ranges the lookup returns NULL, since
GICv2 has no LPIs. A guest running with EOImode==1 writing such an INTID
to GICV_DIR triggers the WARN, and panics hosts running with
panic_on_warn.
Drop the WARN and ignore failed lookups.
Fixes: 255de897e7fb ("KVM: arm64: GICv2: Handle deactivation via GICV_DIR traps")
Cc: stable@vger.kernel.org
Suggested-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Karl Mehltretter <kmehltretter@gmail.com>
Link: https://patch.msgid.link/20260726174803.5880-1-kmehltretter@gmail.com
Signed-off-by: Oliver Upton <oupton@kernel.org>
Diffstat (limited to 'include/linux')
0 files changed, 0 insertions, 0 deletions
