summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2013-09-21 09:53:28 +1000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-10-22 09:02:25 +0100
commit2eec4f8e8f10e97104649c0a8fa0fbf6f3f51792 (patch)
tree4b6f82363fc7d75e1a90ab44d3c870da74f68963
parent85005d18bddd858908230089476d64fc8ecb47aa (diff)
downloadlinux-stable-2eec4f8e8f10e97104649c0a8fa0fbf6f3f51792.tar.gz
linux-stable-2eec4f8e8f10e97104649c0a8fa0fbf6f3f51792.tar.bz2
linux-stable-2eec4f8e8f10e97104649c0a8fa0fbf6f3f51792.zip
KVM: PPC: Book3S HV: Fix typo in saving DSCR
commit cfc860253abd73e1681696c08ea268d33285a2c4 upstream. This fixes a typo in the code that saves the guest DSCR (Data Stream Control Register) into the kvm_vcpu_arch struct on guest exit. The effect of the typo was that the DSCR value was saved in the wrong place, so changes to the DSCR by the guest didn't persist across guest exit and entry, and some host kernel memory got corrupted. Signed-off-by: Paul Mackerras <paulus@samba.org> Acked-by: Alexander Graf <agraf@suse.de> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--arch/powerpc/kvm/book3s_hv_rmhandlers.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/kvm/book3s_hv_rmhandlers.S b/arch/powerpc/kvm/book3s_hv_rmhandlers.S
index 24b23a4307be..126f38d03d32 100644
--- a/arch/powerpc/kvm/book3s_hv_rmhandlers.S
+++ b/arch/powerpc/kvm/book3s_hv_rmhandlers.S
@@ -935,7 +935,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_ARCH_206)
BEGIN_FTR_SECTION
mfspr r8, SPRN_DSCR
ld r7, HSTATE_DSCR(r13)
- std r8, VCPU_DSCR(r7)
+ std r8, VCPU_DSCR(r9)
mtspr SPRN_DSCR, r7
END_FTR_SECTION_IFSET(CPU_FTR_ARCH_206)