Commit dc0dddb1 authored by Will Deacon's avatar Will Deacon Committed by Marc Zyngier
Browse files

KVM: arm64: Invalidate EL1&0 TLB entries for all VMIDs in nvhe hyp init



When initialising the nVHE hypervisor, we invalidate potentially stale
TLB entries for the EL1&0 regime using a 'vmalls12e1' invalidation.
However, this invalidation operation applies only to the active VMID
and therefore we could proceed with stale TLB entries for other VMIDs.

Replace the operation with an 'alle1' which applies to all entries for
the EL1&0 regime, regardless of the VMID.

Cc: Marc Zyngier <maz@kernel.org>
Cc: Oliver Upton <oliver.upton@linux.dev>
Fixes: 1025c8c0 ("KVM: arm64: Wrap the host with a stage 2")
Signed-off-by: default avatarWill Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20240814123429.20457-2-will@kernel.org


Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
parent 7c626ce4
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -130,7 +130,7 @@ alternative_else_nop_endif

	/* Invalidate the stale TLBs from Bootloader */
	tlbi	alle2
	tlbi	vmalls12e1
	tlbi	alle1
	dsb	sy

	mov_q	x0, INIT_SCTLR_EL2_MMU_ON