[dpdk-dev] [PATCH 1/4] net/virtio: fix memory leak in in-order Rx
Tiwei Bie
tiwei.bie at intel.com
Thu Jun 20 03:56:28 CEST 2019
On Wed, Jun 19, 2019 at 02:34:40PM +0200, Maxime Coquelin wrote:
> 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?
Yeah, I totally agree :)
Thanks!
Tiwei
>
> 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