diff options
author | 2023-04-08 17:04:27 +0100 | |
---|---|---|
committer | 2023-04-14 08:23:29 +0100 | |
commit | bcf3e7da3ad3bfea38ac6ba9f56b99b2877af51f (patch) | |
tree | 9630d920fa43894bd5d0e8981a0b4bad496f2975 | |
parent | KVM: arm64: vhe: Synchronise with page table walker on MMU update (diff) | |
download | wireguard-linux-bcf3e7da3ad3bfea38ac6ba9f56b99b2877af51f.tar.xz wireguard-linux-bcf3e7da3ad3bfea38ac6ba9f56b99b2877af51f.zip |
KVM: arm64: vhe: Drop extra isb() on guest exit
__kvm_vcpu_run_vhe() end on VHE with an isb(). However, this
function is only reachable via kvm_call_hyp_ret(), which already
contains an isb() in order to mimick the behaviour of nVHE and
provide a context synchronisation event.
We thus have two isb()s back to back, which is one too many.
Drop the first one and solely rely on the one in the helper.
Signed-off-by: Marc Zyngier <maz@kernel.org>
Reviewed-by: Oliver Upton <oliver.upton@linux.dev>
-rw-r--r-- | arch/arm64/kvm/hyp/vhe/switch.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/arch/arm64/kvm/hyp/vhe/switch.c b/arch/arm64/kvm/hyp/vhe/switch.c index cd3f3117bf16..3d868e84c7a0 100644 --- a/arch/arm64/kvm/hyp/vhe/switch.c +++ b/arch/arm64/kvm/hyp/vhe/switch.c @@ -227,11 +227,10 @@ int __kvm_vcpu_run(struct kvm_vcpu *vcpu) /* * When we exit from the guest we change a number of CPU configuration - * parameters, such as traps. Make sure these changes take effect - * before running the host or additional guests. + * parameters, such as traps. We rely on the isb() in kvm_call_hyp*() + * to make sure these changes take effect before running the host or + * additional guests. */ - isb(); - return ret; } |