From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?iso-8859-1?Q?N=E9lio?= Laranjeiro Subject: Re: [PATCH] net/mlx5: fix redundant free of Tx buffer Date: Thu, 1 Jun 2017 10:08:03 +0200 Message-ID: <20170601080803.GN31330@autoinstall.dev.6wind.com> References: <20170531174845.35951-1-yskoh@mellanox.com> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Cc: ferruh.yigit@intel.com, dev@dpdk.org, adrien.mazarguil@6wind.com, stable@dpdk.org To: Yongseok Koh Return-path: Received: from mail-wm0-f47.google.com (mail-wm0-f47.google.com [74.125.82.47]) by dpdk.org (Postfix) with ESMTP id AD3357CA9 for ; Thu, 1 Jun 2017 10:08:10 +0200 (CEST) Received: by mail-wm0-f47.google.com with SMTP id n195so20978781wmg.1 for ; Thu, 01 Jun 2017 01:08:10 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20170531174845.35951-1-yskoh@mellanox.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Wed, May 31, 2017 at 10:48:45AM -0700, Yongseok Koh wrote: > SW completion ring of Tx (txq->elts) stores individual mbufs even if a > multi-segmented packet is sent. rte_pktmbuf_free_seg() must be used when > cleaning up the completion ring. Otherwise, chained mbufs are redundantly > freed and finally it would cause a crash. > > CC: stable@dpdk.org > Fixes: 1d88ba171942 ("net/mlx5: refactor Tx data path") > > Signed-off-by: Yongseok Koh > --- > drivers/net/mlx5/mlx5_txq.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/mlx5/mlx5_txq.c b/drivers/net/mlx5/mlx5_txq.c > index 6c1387e56..bf72468d5 100644 > --- a/drivers/net/mlx5/mlx5_txq.c > +++ b/drivers/net/mlx5/mlx5_txq.c > @@ -117,7 +117,7 @@ txq_free_elts(struct txq_ctrl *txq_ctrl) > struct rte_mbuf *elt = (*elts)[elts_tail]; > > assert(elt != NULL); > - rte_pktmbuf_free(elt); > + rte_pktmbuf_free_seg(elt); > #ifndef NDEBUG > /* Poisoning. */ > memset(&(*elts)[elts_tail], > -- > 2.11.0 Acked-by: Nelio Laranjeiro -- Nélio Laranjeiro 6WIND