diff options
Diffstat (limited to 'drivers/kvm/vmx.c')
-rw-r--r-- | drivers/kvm/vmx.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/kvm/vmx.c b/drivers/kvm/vmx.c index 27f2751c3baa..27e05a77e21a 100644 --- a/drivers/kvm/vmx.c +++ b/drivers/kvm/vmx.c | |||
@@ -98,7 +98,7 @@ static struct vmx_msr_entry *find_msr_entry(struct kvm_vcpu *vcpu, u32 msr) | |||
98 | for (i = 0; i < vcpu->nmsrs; ++i) | 98 | for (i = 0; i < vcpu->nmsrs; ++i) |
99 | if (vcpu->guest_msrs[i].index == msr) | 99 | if (vcpu->guest_msrs[i].index == msr) |
100 | return &vcpu->guest_msrs[i]; | 100 | return &vcpu->guest_msrs[i]; |
101 | return 0; | 101 | return NULL; |
102 | } | 102 | } |
103 | 103 | ||
104 | static void vmcs_clear(struct vmcs *vmcs) | 104 | static void vmcs_clear(struct vmcs *vmcs) |
@@ -1116,6 +1116,8 @@ static int vmx_vcpu_setup(struct kvm_vcpu *vcpu) | |||
1116 | 1116 | ||
1117 | if (rdmsr_safe(index, &data_low, &data_high) < 0) | 1117 | if (rdmsr_safe(index, &data_low, &data_high) < 0) |
1118 | continue; | 1118 | continue; |
1119 | if (wrmsr_safe(index, data_low, data_high) < 0) | ||
1120 | continue; | ||
1119 | data = data_low | ((u64)data_high << 32); | 1121 | data = data_low | ((u64)data_high << 32); |
1120 | vcpu->host_msrs[j].index = index; | 1122 | vcpu->host_msrs[j].index = index; |
1121 | vcpu->host_msrs[j].reserved = 0; | 1123 | vcpu->host_msrs[j].reserved = 0; |