summaryrefslogtreecommitdiff
path: root/virt
diff options
context:
space:
mode:
authorMarc Zyngier <marc.zyngier@arm.com>2018-12-06 17:31:19 +0000
committerWill Deacon <will.deacon@arm.com>2018-12-10 11:54:37 +0000
commitc987876a80e7bcb98a839f10dca9ce7fda4feced (patch)
tree90736c01cfc0860f68da3c714d50b80a7c70eb03 /virt
parent9ff01193a20d391e8dbce4403dd5ef87c7eaaca6 (diff)
arm64: KVM: Make VHE Stage-2 TLB invalidation operations non-interruptible
Contrary to the non-VHE version of the TLB invalidation helpers, the VHE code has interrupts enabled, meaning that we can take an interrupt in the middle of such a sequence, and start running something else with HCR_EL2.TGE cleared. That's really not a good idea. Take the heavy-handed option and disable interrupts in __tlb_switch_to_guest_vhe, restoring them in __tlb_switch_to_host_vhe. The latter also gain an ISB in order to make sure that TGE really has taken effect. Cc: stable@vger.kernel.org Acked-by: Christoffer Dall <christoffer.dall@arm.com> Reviewed-by: James Morse <james.morse@arm.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'virt')
0 files changed, 0 insertions, 0 deletions