diff options
author | Gautham R. Shenoy <ego@linux.vnet.ibm.com> | 2015-05-21 04:27:04 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2015-09-20 19:05:12 -0400 |
commit | 7e022e717f54897e396504306d0c9b61452adf4e (patch) | |
tree | a48ea19323ae9f3868958a1dfd432a9af7111386 | |
parent | 5fc3e64f941197d5b77abccbe0144b25c2c36f2f (diff) |
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>
-rw-r--r-- | arch/powerpc/kvm/book3s_hv_rmhandlers.S | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/powerpc/kvm/book3s_hv_rmhandlers.S b/arch/powerpc/kvm/book3s_hv_rmhandlers.S index 2273dcacef39..b98889e9851d 100644 --- a/arch/powerpc/kvm/book3s_hv_rmhandlers.S +++ b/arch/powerpc/kvm/book3s_hv_rmhandlers.S | |||
@@ -1257,6 +1257,7 @@ mc_cont: | |||
1257 | bl kvmhv_accumulate_time | 1257 | bl kvmhv_accumulate_time |
1258 | #endif | 1258 | #endif |
1259 | 1259 | ||
1260 | mr r3, r12 | ||
1260 | /* Increment exit count, poke other threads to exit */ | 1261 | /* Increment exit count, poke other threads to exit */ |
1261 | bl kvmhv_commence_exit | 1262 | bl kvmhv_commence_exit |
1262 | nop | 1263 | nop |