[dpdk-dev] [PATCH 1/4] net/virtio: fix memory leak in in-order Rx
Maxime Coquelin
maxime.coquelin at redhat.com
Wed Jun 19 14:34:40 CEST 2019
On 6/18/19 9:41 AM, Tiwei Bie wrote:
> When there is no enough segments for a packet in in-order
> mergeable Rx path, we should free the whole mbuf chain instead
> of just the last segment.
I would write instead:
"
we should free the whole mbuf chain instead of just recycling the last
segment.
"
Because what was done before the patch it to refill the VQ with the last
segment. With your patch, the full chain is freed, then the refill is
done afterwards.
Do you agree?
Other than that:
Reviewed-by: Maxime Coquelin <maxime.coquelin at redhat.com>
Thanks!
Maxime
>
> Fixes: e5f456a98d3c ("net/virtio: support in-order Rx and Tx")
> Cc: stable at dpdk.org
>
> Signed-off-by: Tiwei Bie <tiwei.bie at intel.com>
> ---
> drivers/net/virtio/virtio_rxtx.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/virtio/virtio_rxtx.c b/drivers/net/virtio/virtio_rxtx.c
> index 1f1178467..bdb3a2f18 100644
> --- a/drivers/net/virtio/virtio_rxtx.c
> +++ b/drivers/net/virtio/virtio_rxtx.c
> @@ -1555,7 +1555,7 @@ virtio_recv_pkts_inorder(void *rx_queue,
> } else {
> PMD_RX_LOG(ERR,
> "No enough segments for packet.");
> - virtio_discard_rxbuf_inorder(vq, prev);
> + rte_pktmbuf_free(rx_pkts[nb_rx]);
> rxvq->stats.errors++;
> break;
> }
>
More information about the dev
mailing list