KVM: arm64: vhe: Drop extra isb() on guest exit
authorMarc Zyngier <maz@kernel.org>
Sat, 8 Apr 2023 16:04:27 +0000 (17:04 +0100)
committerMarc Zyngier <maz@kernel.org>
Fri, 14 Apr 2023 07:23:29 +0000 (08:23 +0100)
__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>
arch/arm64/kvm/hyp/vhe/switch.c

index cd3f311..3d868e8 100644 (file)
@@ -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;
 }