diff options
author | Marc Zyngier <maz@kernel.org> | 2023-04-08 19:04:27 +0300 |
---|---|---|
committer | Marc Zyngier <maz@kernel.org> | 2023-04-14 10:23:29 +0300 |
commit | bcf3e7da3ad3bfea38ac6ba9f56b99b2877af51f (patch) | |
tree | 9630d920fa43894bd5d0e8981a0b4bad496f2975 /arch/arm64/kvm/hyp/vhe/switch.c | |
parent | 1ff2755d6800d60bee96fb303cbbf30f9bb483a2 (diff) | |
download | linux-bcf3e7da3ad3bfea38ac6ba9f56b99b2877af51f.tar.xz |
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>
Diffstat (limited to 'arch/arm64/kvm/hyp/vhe/switch.c')
-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; } |