]> www.infradead.org Git - users/jedix/linux-maple.git/commit
KVM: arm64: Mask out non-VA bits from TLBI VA* on VNCR invalidation
authorMarc Zyngier <maz@kernel.org>
Sun, 25 May 2025 17:57:59 +0000 (18:57 +0100)
committerMarc Zyngier <maz@kernel.org>
Fri, 30 May 2025 08:09:16 +0000 (09:09 +0100)
commit667304740537e546dac676be9eb81cee41d2ebdd
treed0fe992e9c71364d91e3ae07513ca02996c32530
parent94d889713d8b8e3bb78e19a1bbe76e36e34e8113
KVM: arm64: Mask out non-VA bits from TLBI VA* on VNCR invalidation

When handling a TLBI VA* instruction that potentially targets a
VNCR page mapping, we fail to mask out the top bits that contain
the ASID and TTL fields, hence potentially failing the VA check
in the TLB code.

An additional wrinkle is that we fail to sign extend the VA,
again leading to failed VA checks.

Fix both in one go by sign-extending the VA from bit 48, making
it comparable to the way we interpret VNCR_EL2.BADDR.

Fixes: 4ffa72ad8f37e ("KVM: arm64: nv: Add S1 TLB invalidation primitive for VNCR_EL2")
Link: https://lore.kernel.org/r/20250525175759.780891-1-maz@kernel.org
Signed-off-by: Marc Zyngier <maz@kernel.org>
arch/arm64/kvm/nested.c