Re: [patch] kvm: fix GFP_KERNEL allocation in atomic section in kvm_dev_ioctl_create_vcpu()

From: Ingo Molnar
Date: Thu Dec 28 2006 - 07:59:01 EST



* Avi Kivity <avi@xxxxxxxxxxxx> wrote:

> >fix a GFP_KERNEL allocation in atomic section bug:
> >kvm_dev_ioctl_create_vcpu() called kvm_mmu_init(), which calls
> >alloc_pages(), while holding the vcpu. The fix is to set up the MMU
> >state earlier, it does not require a loaded CPU state.
>
> Yes it does. It calls nonpaging_init_context() which calls
> vmx_set_cr3() which promptly trashes address space of the VM that
> previously ran on that vcpu (or, if there were none, logs a vmwrite
> error).

ok, i missed that. Nevertheless the problem of the nonatomic alloc
remains. I guess a kvm_mmu_init() needs to be split into
kvm_mmu_create() and kvm_mmu_setup()?

Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/