X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=virt%2Fkvm%2Fkvm_main.c;fp=virt%2Fkvm%2Fkvm_main.c;h=8b8a4445367011b31afdb06f5363a120ea1db019;hb=2ecd9d29abb171d6e97a4f3eb29d7456a11401b7;hp=848af90b8091a9a3bd8ed7e18d6ace2692210c36;hpb=9bdc771f2c29a11920f477fba05a58e23ee42554;p=uclinux-h8%2Flinux.git diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index 848af90b8091..8b8a44453670 100644 --- a/virt/kvm/kvm_main.c +++ b/virt/kvm/kvm_main.c @@ -553,6 +553,8 @@ static struct kvm *kvm_create_vm(unsigned long type) list_add(&kvm->vm_list, &vm_list); spin_unlock(&kvm_lock); + preempt_notifier_inc(); + return kvm; out_err: @@ -620,6 +622,7 @@ static void kvm_destroy_vm(struct kvm *kvm) cleanup_srcu_struct(&kvm->irq_srcu); cleanup_srcu_struct(&kvm->srcu); kvm_arch_free_vm(kvm); + preempt_notifier_dec(); hardware_disable_all(); mmdrop(mm); }