]> git.baikalelectronics.ru Git - kernel.git/commit
KVM: arm64: Restore missing ISB on nVHE __tlb_switch_to_guest
authorMarc Zyngier <maz@kernel.org>
Mon, 13 Jul 2020 14:15:14 +0000 (15:15 +0100)
committerMarc Zyngier <maz@kernel.org>
Thu, 1 Oct 2020 08:53:45 +0000 (09:53 +0100)
commit49192d5ca456c49795e3ddcc73b77c63ec67ca9c
tree5f28be95ed0a4f5cebf3237ed5d33be3d4902d14
parent9742f4d5ba389c6465efedec8c56d3d859b3197e
KVM: arm64: Restore missing ISB on nVHE __tlb_switch_to_guest

Commit 5f1ea5856054 ("KVM: arm64: Factor out stage 2 page table
data from struct kvm") dropped the ISB after __load_guest_stage2(),
only leaving the one that is required when the speculative AT
workaround is in effect.

As Andrew points it: "This alternative is 'backwards' to avoid a
double ISB as there is one in __load_guest_stage2 when the workaround
is active."

Restore the missing ISB, conditionned on the AT workaround not being
active.

Fixes: 5f1ea5856054 ("KVM: arm64: Factor out stage 2 page table data from struct kvm")
Reported-by: Andrew Scull <ascull@google.com>
Reported-by: Thomas Tai <thomas.tai@oracle.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
arch/arm64/kvm/hyp/nvhe/tlb.c