Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

KVM: PPC: Book3S HV: Pass the correct trap argument to kvmhv_commence_exit

In guest_exit_cont we call kvmhv_commence_exit which expects the trap
number as the argument. However r3 doesn't contain the trap number at
this point and as a result we would be calling the function with a
spurious trap number.

Fix this by copying r12 into r3 before calling kvmhv_commence_exit as
r12 contains the trap number.

Cc: stable@vger.kernel.org # v4.1+
Fixes: eddb60fb1443
Signed-off-by: Gautham R. Shenoy <ego@linux.vnet.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>

authored by

Gautham R. Shenoy and committed by
Paul Mackerras
7e022e71 5fc3e64f

+1
+1
arch/powerpc/kvm/book3s_hv_rmhandlers.S
··· 1257 1257 bl kvmhv_accumulate_time 1258 1258 #endif 1259 1259 1260 + mr r3, r12 1260 1261 /* Increment exit count, poke other threads to exit */ 1261 1262 bl kvmhv_commence_exit 1262 1263 nop