patch 'reorder: invalidate buffer from ready queue in drain' has been queued to stable release 20.11.8
luca.boccassi at gmail.com
luca.boccassi at gmail.com
Thu Feb 23 10:37:10 CET 2023
Hi,
FYI, your patch has been queued to stable release 20.11.8
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/25/23. So please
shout if anyone has objections.
Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.
Queued patches are on a temporary branch at:
https://github.com/bluca/dpdk-stable
This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/59e1f7e8f3143fe3e90d1a1dd359c198230287f8
Thanks.
Luca Boccassi
---
>From 59e1f7e8f3143fe3e90d1a1dd359c198230287f8 Mon Sep 17 00:00:00 2001
From: Volodymyr Fialko <vfialko at marvell.com>
Date: Sat, 7 Jan 2023 16:19:38 +0100
Subject: [PATCH] reorder: invalidate buffer from ready queue in drain
[ upstream commit af12092f927d0d230b4dc051529dae88902fba1c ]
Set drained buffers from ready queue to NULL, since their ownership
returned to user. Otherwise it's possible that both user and library
will attempt to free the packet.
Fixes: b70b56032bff ("reorder: new library")
Signed-off-by: Volodymyr Fialko <vfialko at marvell.com>
Acked-by: Stephen Hemminger <stephen at networkplumber.org>
---
lib/librte_reorder/rte_reorder.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/lib/librte_reorder/rte_reorder.c b/lib/librte_reorder/rte_reorder.c
index 9445853b79..a5b9663aa5 100644
--- a/lib/librte_reorder/rte_reorder.c
+++ b/lib/librte_reorder/rte_reorder.c
@@ -392,6 +392,7 @@ rte_reorder_drain(struct rte_reorder_buffer *b, struct rte_mbuf **mbufs,
/* Try to fetch requested number of mbufs from ready buffer */
while ((drain_cnt < max_mbufs) && (ready_buf->tail != ready_buf->head)) {
mbufs[drain_cnt++] = ready_buf->entries[ready_buf->tail];
+ ready_buf->entries[ready_buf->tail] = NULL;
ready_buf->tail = (ready_buf->tail + 1) & ready_buf->mask;
}
--
2.39.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2023-02-23 09:36:30.932780291 +0000
+++ 0066-reorder-invalidate-buffer-from-ready-queue-in-drain.patch 2023-02-23 09:36:28.350172224 +0000
@@ -1 +1 @@
-From af12092f927d0d230b4dc051529dae88902fba1c Mon Sep 17 00:00:00 2001
+From 59e1f7e8f3143fe3e90d1a1dd359c198230287f8 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit af12092f927d0d230b4dc051529dae88902fba1c ]
+
@@ -11 +12,0 @@
-Cc: stable at dpdk.org
@@ -16 +17 @@
- lib/reorder/rte_reorder.c | 1 +
+ lib/librte_reorder/rte_reorder.c | 1 +
@@ -19,5 +20,5 @@
-diff --git a/lib/reorder/rte_reorder.c b/lib/reorder/rte_reorder.c
-index 385ee479da..b38e71f460 100644
---- a/lib/reorder/rte_reorder.c
-+++ b/lib/reorder/rte_reorder.c
-@@ -389,6 +389,7 @@ rte_reorder_drain(struct rte_reorder_buffer *b, struct rte_mbuf **mbufs,
+diff --git a/lib/librte_reorder/rte_reorder.c b/lib/librte_reorder/rte_reorder.c
+index 9445853b79..a5b9663aa5 100644
+--- a/lib/librte_reorder/rte_reorder.c
++++ b/lib/librte_reorder/rte_reorder.c
+@@ -392,6 +392,7 @@ rte_reorder_drain(struct rte_reorder_buffer *b, struct rte_mbuf **mbufs,
More information about the stable
mailing list