diff options
Diffstat (limited to 'arch/x86/kvm/vmx.c')
| -rw-r--r-- | arch/x86/kvm/vmx.c | 5 | 
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);  |