[PATCH v22 08/27] gro: fix overwrite unprocessed packets

Andre Muezerie andremue at linux.microsoft.com
Thu Feb 6 02:33:11 CET 2025


From: Konstantin Ananyev <konstantin.ananyev at huawei.com>

gro_vxlan_tcp4_tbl_timeout_flush() is called without taking into account
that first entries in pkts[] can be already occupied by
un-processed packets.

Fixes: 74080d7dcf31 ("gro: support IPv6 for TCP")
Cc: stable at dpdk.org

Signed-off-by: Konstantin Ananyev <konstantin.ananyev at huawei.com>
Acked-by: Ferruh Yigit <ferruh.yigit at amd.com>
---
 lib/gro/rte_gro.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/gro/rte_gro.c b/lib/gro/rte_gro.c
index d824eebd93..db86117609 100644
--- a/lib/gro/rte_gro.c
+++ b/lib/gro/rte_gro.c
@@ -327,7 +327,7 @@ rte_gro_reassemble_burst(struct rte_mbuf **pkts,
 		/* Flush all packets from the tables */
 		if (do_vxlan_tcp_gro) {
 			i += gro_vxlan_tcp4_tbl_timeout_flush(&vxlan_tcp_tbl,
-					0, pkts, nb_pkts);
+					0, &pkts[i], nb_pkts - i);
 		}
 
 		if (do_vxlan_udp_gro) {
-- 
2.47.2.vfs.0.1



More information about the stable mailing list