diff options
| -rw-r--r-- | virt/kvm/kvm_main.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index 383f492a6603..96ebc0679415 100644 --- a/virt/kvm/kvm_main.c +++ b/virt/kvm/kvm_main.c | |||
| @@ -467,12 +467,8 @@ static struct kvm *kvm_create_vm(void) | |||
| 467 | if (!kvm->buses[i]) | 467 | if (!kvm->buses[i]) |
| 468 | goto out_err; | 468 | goto out_err; |
| 469 | } | 469 | } |
| 470 | spin_lock_init(&kvm->mmu_lock); | ||
| 471 | |||
| 472 | r = kvm_init_mmu_notifier(kvm); | ||
| 473 | if (r) | ||
| 474 | goto out_err; | ||
| 475 | 470 | ||
| 471 | spin_lock_init(&kvm->mmu_lock); | ||
| 476 | kvm->mm = current->mm; | 472 | kvm->mm = current->mm; |
| 477 | atomic_inc(&kvm->mm->mm_count); | 473 | atomic_inc(&kvm->mm->mm_count); |
| 478 | kvm_eventfd_init(kvm); | 474 | kvm_eventfd_init(kvm); |
| @@ -480,6 +476,11 @@ static struct kvm *kvm_create_vm(void) | |||
| 480 | mutex_init(&kvm->irq_lock); | 476 | mutex_init(&kvm->irq_lock); |
| 481 | mutex_init(&kvm->slots_lock); | 477 | mutex_init(&kvm->slots_lock); |
| 482 | atomic_set(&kvm->users_count, 1); | 478 | atomic_set(&kvm->users_count, 1); |
| 479 | |||
| 480 | r = kvm_init_mmu_notifier(kvm); | ||
| 481 | if (r) | ||
| 482 | goto out_err; | ||
| 483 | |||
| 483 | raw_spin_lock(&kvm_lock); | 484 | raw_spin_lock(&kvm_lock); |
| 484 | list_add(&kvm->vm_list, &vm_list); | 485 | list_add(&kvm->vm_list, &vm_list); |
| 485 | raw_spin_unlock(&kvm_lock); | 486 | raw_spin_unlock(&kvm_lock); |
