[dpdk-stable] [PATCH v4] net/virtio: fix repeated memory free of vq

Xia, Chenbo chenbo.xia at intel.com
Tue Sep 7 07:08:00 CEST 2021


> -----Original Message-----
> From: Gaoxiang Liu <gaoxiangliu0 at 163.com>
> Sent: Tuesday, August 31, 2021 10:40 PM
> To: maxime.coquelin at redhat.com; Xia, Chenbo <chenbo.xia at intel.com>
> Cc: dev at dpdk.org; liugaoxiang at huawei.com; Gaoxiang Liu <gaoxiangliu0 at 163.com>;
> stable at dpdk.org
> Subject: [PATCH v4] net/virtio: fix repeated memory free of vq
> 
> When virtio_init_queue returns error, the memory of vq is freed.
> But the value of hw->vqs[queue_idx] does not restore.
> If virtio_init_queue returns error, the memory of vq is freed again
> in virtio_free_queues.
> 
> Fixes: 69c80d4ef89b ("net/virtio: allocate queue at init stage")
> Cc: stable at dpdk.org
> 
> Signed-off-by: Gaoxiang Liu <liugaoxiang at huawei.com>
> ---
> 
> v2:
> * Fix spelling warning
> 
> v3:
> * Add detailed log
> 
> v4:
> * Update the email address
> ---
>  drivers/net/virtio/virtio_ethdev.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/net/virtio/virtio_ethdev.c
> b/drivers/net/virtio/virtio_ethdev.c
> index 056830566..fc72d71cb 100644
> --- a/drivers/net/virtio/virtio_ethdev.c
> +++ b/drivers/net/virtio/virtio_ethdev.c
> @@ -631,6 +631,7 @@ virtio_init_queue(struct rte_eth_dev *dev, uint16_t
> queue_idx)
>  	rte_memzone_free(mz);
>  free_vq:
>  	rte_free(vq);
> +	hw->vqs[queue_idx] = NULL;
> 
>  	return ret;
>  }
> --
> 2.32.0

Better to make the author name and SOB tag use same email when applying.

For this patch:

Reviewed-by: Chenbo Xia <chenbo.xia at intel.com>


More information about the stable mailing list