fix an GFP_KERNEL allocation in atomic section: 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 in two phases: kvm_mmu_create() and kvm_mmu_setup(). (NOTE: free_vcpus does an kvm_mmu_destroy() call so there's no need for any extra teardown branch on allocation/init failure here.) Signed-off-by: Ingo Molnar <mingo@elte.hu> Cc: Avi Kivity <avi@qumranet.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> |
||
|---|---|---|
| .. | ||
| Kconfig | ||
| Makefile | ||
| kvm.h | ||
| kvm_main.c | ||
| kvm_svm.h | ||
| kvm_vmx.h | ||
| mmu.c | ||
| paging_tmpl.h | ||
| segment_descriptor.h | ||
| svm.c | ||
| svm.h | ||
| vmx.c | ||
| vmx.h | ||
| x86_emulate.c | ||
| x86_emulate.h | ||