[dpdk-stable] [PATCH] vhost: fix accessing uninitialized variables

Maxime Coquelin maxime.coquelin at redhat.com
Wed Mar 24 10:54:38 CET 2021



On 3/3/21 8:27 AM, Marvin Liu wrote:
> This patch fixs coverity issue by adding initialization step before
> using temporary virtio header.
> 
> Coverity issue: 366181, 366123
> Fixes: fb3815cc614d ("vhost: handle virtually non-contiguous buffers in Rx-mrg")
> Cc: stable at dpdk.org
> 
> Signed-off-by: Marvin Liu <yong.liu at intel.com>
> 
> diff --git a/lib/librte_vhost/virtio_net.c b/lib/librte_vhost/virtio_net.c
> index 583bf379c6..fe464b3088 100644
> --- a/lib/librte_vhost/virtio_net.c
> +++ b/lib/librte_vhost/virtio_net.c
> @@ -808,9 +808,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",
> 

Reviewed-by: Maxime Coquelin <maxime.coquelin at redhat.com>

Thanks,
Maxime



More information about the stable mailing list