Acked-by: Raphael Norwitz <raphael.norw...@nutanix.com>
On Thu, Apr 29, 2021 at 07:13:11PM +0200, Kevin Wolf wrote: > We have to set errp before jumping to virtio_err, otherwise the caller > (virtio_device_realize()) will take this as success and crash when it > later tries to access things that we've already freed in the error path. > > Fixes: 77542d431491788d1e8e79d93ce10172ef207775 > Signed-off-by: Kevin Wolf <kw...@redhat.com> > --- > hw/block/vhost-user-blk.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/hw/block/vhost-user-blk.c b/hw/block/vhost-user-blk.c > index f5e9682703..7c85248a7b 100644 > --- a/hw/block/vhost-user-blk.c > +++ b/hw/block/vhost-user-blk.c > @@ -447,7 +447,6 @@ static void vhost_user_blk_device_realize(DeviceState > *dev, Error **errp) > { > VirtIODevice *vdev = VIRTIO_DEVICE(dev); > VHostUserBlk *s = VHOST_USER_BLK(vdev); > - Error *err = NULL; > int i, ret; > > if (!s->chardev.chr) { > @@ -495,8 +494,7 @@ static void vhost_user_blk_device_realize(DeviceState > *dev, Error **errp) > NULL, true); > > reconnect: > - if (qemu_chr_fe_wait_connected(&s->chardev, &err) < 0) { > - error_report_err(err); > + if (qemu_chr_fe_wait_connected(&s->chardev, errp) < 0) { > goto virtio_err; > } > > -- > 2.30.2 >