> -----Original Message----- > From: Liu, Yong <[email protected]> > Sent: Wednesday, April 7, 2021 11:25 AM > To: [email protected]; Xia, Chenbo <[email protected]> > Cc: [email protected]; Liu, Yong <[email protected]>; [email protected] > Subject: [PATCH 2/2] vhost: fix async enqueue accessing uninitialized > variables > > This patch fixs coverity issue in async enqueue function by adding > initialization step before using temporary virtio header. > > Coverity issue: 366123 > Fixes: cd6760da1076 ("vhost: introduce async enqueue for split ring") > Cc: [email protected] > > Signed-off-by: Marvin Liu <[email protected]> > > diff --git a/lib/librte_vhost/virtio_net.c b/lib/librte_vhost/virtio_net.c > index 48b013a9b4..ff39878609 100644 > --- a/lib/librte_vhost/virtio_net.c > +++ b/lib/librte_vhost/virtio_net.c > @@ -986,9 +986,10 @@ async_mbuf_to_desc(struct virtio_net *dev, struct > vhost_virtqueue *vq, > > hdr_mbuf = m; > hdr_addr = buf_addr; > - if (unlikely(buf_len < dev->vhost_hlen)) > + if (unlikely(buf_len < dev->vhost_hlen)) { > + memset(&tmp_hdr, 0, sizeof(struct virtio_net_hdr_mrg_rxbuf)); > hdr = &tmp_hdr; > - else > + } else > hdr = (struct virtio_net_hdr_mrg_rxbuf *)(uintptr_t)hdr_addr; > > VHOST_LOG_DATA(DEBUG, "(%d) RX: num merge buffers %d\n", > -- > 2.17.1
Reviewed-by: Chenbo Xia <[email protected]>

