Re: Kernel GPF in vmx_save_host_state()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Benjamin Gilbert wrote:
vmx_set_msr: msr_index 0xc0000080 msr->index 0xc0000080 msr->data 0x100

How did that get in there?!

Please add a dump_stack() after that printk().

Pid: 2381, comm: qemu-system-x86 Not tainted 2.6.28-686 #4
Call Trace:
 [<f8cf2fdc>] vmx_set_msr+0x150/0x178 [kvm_intel]
 [<f8cf325a>] handle_wrmsr+0x71/0x9d [kvm_intel]

Duh, I noted this hole in a previous email.

Attached patch should fix.

--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.

diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index 88ef094..da6461d 100644
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/kvm/vmx.c
@@ -942,11 +942,11 @@ static int vmx_set_msr(struct kvm_vcpu *vcpu, u32 msr_index, u64 data)
 	int ret = 0;
 
 	switch (msr_index) {
-#ifdef CONFIG_X86_64
 	case MSR_EFER:
 		vmx_load_host_state(vmx);
 		ret = kvm_set_msr_common(vcpu, msr_index, data);
 		break;
+#ifdef CONFIG_X86_64
 	case MSR_FS_BASE:
 		vmcs_writel(GUEST_FS_BASE, data);
 		break;

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux