Message ID | 20240924130554.749278-10-marcandre.lureau@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | -Werror=maybe-uninitialized fixes | expand |
On Tue, Sep 24, 2024 at 05:05:40PM GMT, marcandre.lureau@redhat.com wrote: >From: Marc-André Lureau <marcandre.lureau@redhat.com> > >../hw/scsi/vhost-scsi.c:173:12: error: ‘ret’ may be used uninitialized [-Werror=maybe-uninitialized] > >It can be reached when num_queues=0. It probably doesn't make much sense >to instantiate a vhost-scsi with 0 IO queues though. For now, make >vhost_scsi_set_workers() return success/0 anyway, when no workers have >been setup. I agree, for vhost_scsi_set_workers() point of view, it doesn't need to add a new worker in that case, so it should be fine to return 0. If we really want to fail when num_queues=0, maybe it should be in vhost_scsi_realize(). > >Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> >--- > hw/scsi/vhost-scsi.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > >diff --git a/hw/scsi/vhost-scsi.c b/hw/scsi/vhost-scsi.c >index 49cff2a0cb..22d16dc26b 100644 >--- a/hw/scsi/vhost-scsi.c >+++ b/hw/scsi/vhost-scsi.c >@@ -172,7 +172,7 @@ static int vhost_scsi_set_workers(VHostSCSICommon *vsc, bool per_virtqueue) > struct vhost_dev *dev = &vsc->dev; > struct vhost_vring_worker vq_worker; > struct vhost_worker_state worker; >- int i, ret; >+ int i, ret = 0; > > /* Use default worker */ > if (!per_virtqueue || dev->nvqs == VHOST_SCSI_VQ_NUM_FIXED + 1) { Another option could have been to edit this check: if (!per_virtqueue || dev->nvqs <= VHOST_SCSI_VQ_NUM_FIXED + 1) { return 0; } But I'm fine with your change: Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
diff --git a/hw/scsi/vhost-scsi.c b/hw/scsi/vhost-scsi.c index 49cff2a0cb..22d16dc26b 100644 --- a/hw/scsi/vhost-scsi.c +++ b/hw/scsi/vhost-scsi.c @@ -172,7 +172,7 @@ static int vhost_scsi_set_workers(VHostSCSICommon *vsc, bool per_virtqueue) struct vhost_dev *dev = &vsc->dev; struct vhost_vring_worker vq_worker; struct vhost_worker_state worker; - int i, ret; + int i, ret = 0; /* Use default worker */ if (!per_virtqueue || dev->nvqs == VHOST_SCSI_VQ_NUM_FIXED + 1) {