Thread (3 messages) 3 messages, 3 authors, 2017-06-01

Re: [PATCH] net/mlx5: fix redundant free of Tx buffer

From: Nélio Laranjeiro <hidden>
Date: 2017-06-01 08:08:10

On Wed, May 31, 2017 at 10:48:45AM -0700, Yongseok Koh wrote:
quoted hunk ↗ jump to hunk
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 <redacted>
---
 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 <redacted>

-- 
Nélio Laranjeiro
6WIND
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help