summaryrefslogtreecommitdiff
path: root/arch/x86/kvm/vmx.c
diff options
context:
space:
mode:
authorJames Simmons <jsimmons@infradead.org>2012-05-14 17:53:00 +0100
committerJames Simmons <jsimmons@infradead.org>2012-05-14 17:53:00 +0100
commit9491e34defaa03e18241e1e65352eb7c1d7215ed (patch)
tree0701a5bbcb8f6e7173b4da02f0bf80b5ca10ab65 /arch/x86/kvm/vmx.c
parent098fbfb2ed6833bc513709732a7bb0089f6bfd74 (diff)
parenta366e3926664aa615666dcea892b56909b5c994c (diff)
Merge remote-tracking branch 'remotes/drm-core-next'
Diffstat (limited to 'arch/x86/kvm/vmx.c')
-rw-r--r--arch/x86/kvm/vmx.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index ad85adfef84..4ff0ab9bc3c 100644
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/kvm/vmx.c
@@ -2210,9 +2210,12 @@ static int vmx_set_msr(struct kvm_vcpu *vcpu, u32 msr_index, u64 data)
msr = find_msr_entry(vmx, msr_index);
if (msr) {
msr->data = data;
- if (msr - vmx->guest_msrs < vmx->save_nmsrs)
+ if (msr - vmx->guest_msrs < vmx->save_nmsrs) {
+ preempt_disable();
kvm_set_shared_msr(msr->index, msr->data,
msr->mask);
+ preempt_enable();
+ }
break;
}
ret = kvm_set_msr_common(vcpu, msr_index, data);