Răsfoiți Sursa

[PATCH] KVM: fix lockup on 32-bit intel hosts with nx disabled in the bios

Intel hosts, without long mode, and with nx support disabled in the bios
have an efer that is readable but not writable.  This causes a lockup on
switch to guest mode (even though it should exit with reason 34 according
to the documentation).

Signed-off-by: Avi Kivity <avi@qumranet.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Avi Kivity 19 ani în urmă
părinte
comite
432bd6cbf9
1 a modificat fișierele cu 2 adăugiri și 0 ștergeri
  1. 2 0
      drivers/kvm/vmx.c

+ 2 - 0
drivers/kvm/vmx.c

@@ -1116,6 +1116,8 @@ static int vmx_vcpu_setup(struct kvm_vcpu *vcpu)
 
 
 		if (rdmsr_safe(index, &data_low, &data_high) < 0)
 		if (rdmsr_safe(index, &data_low, &data_high) < 0)
 			continue;
 			continue;
+		if (wrmsr_safe(index, data_low, data_high) < 0)
+			continue;
 		data = data_low | ((u64)data_high << 32);
 		data = data_low | ((u64)data_high << 32);
 		vcpu->host_msrs[j].index = index;
 		vcpu->host_msrs[j].index = index;
 		vcpu->host_msrs[j].reserved = 0;
 		vcpu->host_msrs[j].reserved = 0;