vhost-scsi: Call virtio_scsi_common_unrealize() when device realize failed
This avoids memory leak when device hotplug is failed. Signed-off-by: Xie Yongji <xieyongji@baidu.com> Message-Id: <20190717004606.12444-1-xieyongji@baidu.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
12e1dc4939
commit
934443c37b
@ -210,7 +210,7 @@ static void vhost_scsi_realize(DeviceState *dev, Error **errp)
|
||||
if (err) {
|
||||
error_propagate(errp, err);
|
||||
error_free(vsc->migration_blocker);
|
||||
goto close_fd;
|
||||
goto free_virtio;
|
||||
}
|
||||
}
|
||||
|
||||
@ -240,6 +240,8 @@ static void vhost_scsi_realize(DeviceState *dev, Error **errp)
|
||||
migrate_del_blocker(vsc->migration_blocker);
|
||||
}
|
||||
g_free(vsc->dev.vqs);
|
||||
free_virtio:
|
||||
virtio_scsi_common_unrealize(dev);
|
||||
close_fd:
|
||||
close(vhostfd);
|
||||
return;
|
||||
|
Loading…
Reference in New Issue
Block a user