This patch fixs coverity issue by adding initialization step before using temporary virtio header. Coverity issue: 366181 Fixes: fb3815cc614d ("vhost: handle virtually non-contiguous buffers in Rx-mrg") Cc: stable@dpdk.org Signed-off-by: Marvin Liu <yong.liu@intel.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com> diff --git a/lib/librte_vhost/virtio_net.c b/lib/librte_vhost/virtio_net.c index 7f621fb6dd..48b013a9b4 100644 --- a/lib/librte_vhost/virtio_net.c +++ b/lib/librte_vhost/virtio_net.c @@ -812,9 +812,10 @@ copy_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
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: stable@dpdk.org Signed-off-by: Marvin Liu <yong.liu@intel.com> 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
> -----Original Message-----
> From: Liu, Yong <yong.liu@intel.com>
> Sent: Wednesday, April 7, 2021 11:25 AM
> To: maxime.coquelin@redhat.com; Xia, Chenbo <chenbo.xia@intel.com>
> Cc: dev@dpdk.org; Liu, Yong <yong.liu@intel.com>; stable@dpdk.org
> 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: stable@dpdk.org
>
> Signed-off-by: Marvin Liu <yong.liu@intel.com>
>
> 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 <chenbo.xia@intel.com>
> -----Original Message-----
> From: Liu, Yong <yong.liu@intel.com>
> Sent: Wednesday, April 7, 2021 11:25 AM
> To: maxime.coquelin@redhat.com; Xia, Chenbo <chenbo.xia@intel.com>
> Cc: dev@dpdk.org; Liu, Yong <yong.liu@intel.com>; stable@dpdk.org
> Subject: [PATCH 1/2] vhost: fix accessing uninitialized variables
>
> This patch fixs coverity issue by adding initialization step before
> using temporary virtio header.
>
> Coverity issue: 366181
> Fixes: fb3815cc614d ("vhost: handle virtually non-contiguous buffers in Rx-
> mrg")
> Cc: stable@dpdk.org
>
> Signed-off-by: Marvin Liu <yong.liu@intel.com>
> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
> --
> 2.17.1
Series applied to next-virtio/main, Thanks