DPDK patches and discussions
 help / color / mirror / Atom feed
* [PATCH] gro: fix payload corruption in coalescing packets
@ 2025-09-02 10:44 Tathagat Priyadarshi
  2025-09-18 12:36 ` kumaraparameshwaran rathinavel
  0 siblings, 1 reply; 2+ messages in thread
From: Tathagat Priyadarshi @ 2025-09-02 10:44 UTC (permalink / raw)
  To: kumaraparamesh92, hujiayu.hu; +Cc: dev, stable, Tathagat Priyadarshi

In the current implementation when cmp is larger than 0,
the new packet is appended to the original packet. However
the code is operating on the trailing packet to update the tcp flags
which ends up corrupting the payload of the trailing packets.

Fixes: 547f29435769 ("gro: fix reordering of packets")
Cc: stable@dpdk.org

Signed-off-by: Tathagat Priyadarshi <tathagat.dpdk@gmail.com>
---
 lib/gro/gro_tcp.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/gro/gro_tcp.h b/lib/gro/gro_tcp.h
index e9be7b95d1..43383e47e0 100644
--- a/lib/gro/gro_tcp.h
+++ b/lib/gro/gro_tcp.h
@@ -133,7 +133,7 @@ merge_two_tcp_packets(struct gro_tcp_item *item,
 	pkt_head->nb_segs += pkt_tail->nb_segs;
 	pkt_head->pkt_len += pkt_tail->pkt_len;
 	if (tcp_flags != RTE_TCP_ACK_FLAG) {
-		tcp_hdr = rte_pktmbuf_mtod_offset(pkt, struct rte_tcp_hdr *,
+		tcp_hdr = rte_pktmbuf_mtod_offset(pkt_head, struct rte_tcp_hdr *,
 						l2_offset + pkt_head->l2_len + pkt_head->l3_len);
 		tcp_hdr->tcp_flags |= tcp_flags;
 	}
-- 
2.34.1


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-09-18 12:36 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-09-02 10:44 [PATCH] gro: fix payload corruption in coalescing packets Tathagat Priyadarshi
2025-09-18 12:36 ` kumaraparameshwaran rathinavel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).