aboutsummaryrefslogtreecommitdiff
path: root/arch/powerpc/kvm/book3s_hv.c
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2016-02-05 19:31:44 +0000
committerMark Brown <broonie@kernel.org>2016-02-05 19:31:44 +0000
commitaf1d34c770588a9ec6041292b7cd08e2fbc4f3a3 (patch)
treef331af86ca3192aaf0a506fb4c55b05db07a1eb1 /arch/powerpc/kvm/book3s_hv.c
parentc228c8e94b9e56032d475abc8f5978a73ac3f699 (diff)
parent757bcff73ad4726504a3f40d12a970a593249350 (diff)
Merge tag 'v3.14.60' into linux-linaro-lsk-v3.14lsk-v3.14-16.02
This is the 3.14.60 stable release # gpg: Signature made Fri 29 Jan 2016 06:00:43 GMT using RSA key ID 6092693E # gpg: Good signature from "Greg Kroah-Hartman (Linux kernel stable release signing key) <greg@kroah.com>" # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: 647F 2865 4894 E3BD 4571 99BE 38DB BDC8 6092 693E
Diffstat (limited to 'arch/powerpc/kvm/book3s_hv.c')
-rw-r--r--arch/powerpc/kvm/book3s_hv.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c
index 7a25d9218a05..975681b67dba 100644
--- a/arch/powerpc/kvm/book3s_hv.c
+++ b/arch/powerpc/kvm/book3s_hv.c
@@ -166,6 +166,12 @@ static void kvmppc_core_vcpu_put_hv(struct kvm_vcpu *vcpu)
static void kvmppc_set_msr_hv(struct kvm_vcpu *vcpu, u64 msr)
{
+ /*
+ * Check for illegal transactional state bit combination
+ * and if we find it, force the TS field to a safe state.
+ */
+ if ((msr & MSR_TS_MASK) == MSR_TS_MASK)
+ msr &= ~MSR_TS_MASK;
vcpu->arch.shregs.msr = msr;
kvmppc_end_cede(vcpu);
}