OSDN Git Service
(root)
/
uclinux-h8
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa...
[uclinux-h8/linux.git]
/
virt
/
kvm
/
kvm_main.c
diff --git
a/virt/kvm/kvm_main.c
b/virt/kvm/kvm_main.c
index
5ecea81
..
5858452
100644
(file)
--- a/
virt/kvm/kvm_main.c
+++ b/
virt/kvm/kvm_main.c
@@
-3000,8
+3000,10
@@
static int kvm_ioctl_create_device(struct kvm *kvm,
if (ops->init)
ops->init(dev);
if (ops->init)
ops->init(dev);
+ kvm_get_kvm(kvm);
ret = anon_inode_getfd(ops->name, &kvm_device_fops, dev, O_RDWR | O_CLOEXEC);
if (ret < 0) {
ret = anon_inode_getfd(ops->name, &kvm_device_fops, dev, O_RDWR | O_CLOEXEC);
if (ret < 0) {
+ kvm_put_kvm(kvm);
mutex_lock(&kvm->lock);
list_del(&dev->vm_node);
mutex_unlock(&kvm->lock);
mutex_lock(&kvm->lock);
list_del(&dev->vm_node);
mutex_unlock(&kvm->lock);
@@
-3009,7
+3011,6
@@
static int kvm_ioctl_create_device(struct kvm *kvm,
return ret;
}
return ret;
}
- kvm_get_kvm(kvm);
cd->fd = ret;
return 0;
}
cd->fd = ret;
return 0;
}