Message ID | 20161130192105.GC28180@mwanda (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Am 30.11.2016 um 20:21 schrieb Dan Carpenter: > We should move the ops->destroy(dev) after the list_del(&dev->vm_node) > so that we don't use "dev" after freeing it. > > Fixes: a28ebea2adc4 ("KVM: Protect device ops->create and list_add with kvm->lock") > Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> > > diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c > index 69a1247..de102ca 100644 > --- a/virt/kvm/kvm_main.c > +++ b/virt/kvm/kvm_main.c > @@ -2899,10 +2899,10 @@ static int kvm_ioctl_create_device(struct kvm *kvm, Looks sane to me! This also matches kvm_destroy_devices(). Reviewed-by: David Hildenbrand <david@redhat.com>
2016-11-30 22:21+0300, Dan Carpenter: > We should move the ops->destroy(dev) after the list_del(&dev->vm_node) > so that we don't use "dev" after freeing it. > > Fixes: a28ebea2adc4 ("KVM: Protect device ops->create and list_add with kvm->lock") > Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Applied to kvm/master, thanks. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index 69a1247..de102ca 100644 --- a/virt/kvm/kvm_main.c +++ b/virt/kvm/kvm_main.c @@ -2899,10 +2899,10 @@ static int kvm_ioctl_create_device(struct kvm *kvm, ret = anon_inode_getfd(ops->name, &kvm_device_fops, dev, O_RDWR | O_CLOEXEC); if (ret < 0) { - ops->destroy(dev); mutex_lock(&kvm->lock); list_del(&dev->vm_node); mutex_unlock(&kvm->lock); + ops->destroy(dev); return ret; }
We should move the ops->destroy(dev) after the list_del(&dev->vm_node) so that we don't use "dev" after freeing it. Fixes: a28ebea2adc4 ("KVM: Protect device ops->create and list_add with kvm->lock") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html