From: Avi Kivity <[EMAIL PROTECTED]> This reverts commit 202761268a29d4cd3a3fec35e6d6f2f239374635. The change caused a cycle that wouldn't let virtual machines to be deallocated (due to the mm holding a ref to the file table, which holds a ref to kvm).
Signed-off-by: Avi Kivity <[EMAIL PROTECTED]> diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index a96a44f..30bf832 100644 --- a/virt/kvm/kvm_main.c +++ b/virt/kvm/kvm_main.c @@ -186,7 +186,8 @@ static struct kvm *kvm_create_vm(void) if (IS_ERR(kvm)) goto out; - kvm->mm = get_task_mm(current); + kvm->mm = current->mm; + atomic_inc(&kvm->mm->mm_count); spin_lock_init(&kvm->mmu_lock); kvm_io_bus_init(&kvm->pio_bus); mutex_init(&kvm->lock); @@ -238,7 +239,7 @@ static void kvm_destroy_vm(struct kvm *kvm) kvm_io_bus_destroy(&kvm->pio_bus); kvm_io_bus_destroy(&kvm->mmio_bus); kvm_arch_destroy_vm(kvm); - mmput(mm); + mmdrop(mm); } static int kvm_vm_release(struct inode *inode, struct file *filp) ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace _______________________________________________ kvm-commits mailing list kvm-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-commits