vhost-vsock: fix double close() in the realize() error path
vhost_dev_cleanup() closes the vhostfd parameter passed to vhost_dev_init(), so this patch avoids closing it twice in the vhost_vsock_device_realize() error path. Signed-off-by: Stefano Garzarella <sgarzare@redhat.com> Message-Id: <20200331075910.42529-1-sgarzare@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
parent
17e89077b7
commit
e82cdba394
@ -364,12 +364,16 @@ static void vhost_vsock_device_realize(DeviceState *dev, Error **errp)
|
||||
|
||||
err_vhost_dev:
|
||||
vhost_dev_cleanup(&vsock->vhost_dev);
|
||||
/* vhost_dev_cleanup() closes the vhostfd passed to vhost_dev_init() */
|
||||
vhostfd = -1;
|
||||
err_virtio:
|
||||
virtio_delete_queue(vsock->recv_vq);
|
||||
virtio_delete_queue(vsock->trans_vq);
|
||||
virtio_delete_queue(vsock->event_vq);
|
||||
virtio_cleanup(vdev);
|
||||
close(vhostfd);
|
||||
if (vhostfd >= 0) {
|
||||
close(vhostfd);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user