lib/virtio: handle double free of virtio_dev device

Change-Id: I76a3f9125d05aa6ca0c31e8220036cf853a24619
Signed-off-by: GangCao <gang.cao@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15617
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Community-CI: Mellanox Build Bot
This commit is contained in:
GangCao 2022-11-24 01:00:14 -05:00 committed by Tomasz Zawadzki
parent f67c74a2cf
commit c85df53551

View File

@ -428,7 +428,6 @@ virtio_vfio_user_dev_init(struct virtio_dev *vdev, const char *name, const char
if (!dev->ctx) {
SPDK_ERRLOG("Error to setup %s as vfio device\n", path);
virtio_dev_destruct(vdev);
free(dev);
return -EINVAL;
}
@ -438,8 +437,6 @@ virtio_vfio_user_dev_init(struct virtio_dev *vdev, const char *name, const char
if (rc != 0) {
SPDK_ERRLOG("Read PCI CMD REG failed\n");
virtio_dev_destruct(vdev);
spdk_vfio_user_release(dev->ctx);
free(dev);
return rc;
}
cmd_reg |= 0x404;
@ -448,8 +445,6 @@ virtio_vfio_user_dev_init(struct virtio_dev *vdev, const char *name, const char
if (rc != 0) {
SPDK_ERRLOG("Write PCI CMD REG failed\n");
virtio_dev_destruct(vdev);
spdk_vfio_user_release(dev->ctx);
free(dev);
return rc;
}