Netdev List
 help / color / mirror / Atom feed
* [PATCH net v3 0/2] tcp: exclude old ACKs from fast path
@ 2026-09-14  9:04 Inbal Schussheim
  2026-09-14  9:04 ` [PATCH net v3 1/2] tcp: exclude old ACKs from tcp " Inbal Schussheim
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Inbal Schussheim @ 2026-09-14  9:04 UTC (permalink / raw)
  To: netdev
  Cc: edumazet, ncardwell, kuniyu, davem, kuba, pabeni, horms, shuah,
	linux-kselftest, amit.klein, Inbal Schussheim

Exclude ACKs outside [SND.UNA, SND.NXT] from TCP header prediction so
that they fall through to the slow path, where ACK
validation is applied.

Add a packetdrill test for a data segment carrying an
excessively old ACK. The test fails on the unpatched kernel and passes
with the fix.

---

Changes in v3:
- Add a Fixes tag and stable Cc.
- Clarify the visible impact of accepting payload carried by an
  excessively old ACK (RCV.NXT is advanced before the ACK is rejected).
- Document ACK sequence validity as a TCP fast-path condition.
- Initialize the packetdrill test with the suite defaults and disable
  invalid-packet rate limiting.
- Add an SPDX license identifier to the packetdrill test.

Changes in v2:

- Exclude all ACKs before SND.UNA from header prediction instead of
  duplicating old-ACK validation in the fast path.
- Cover pure ACKs as well as data-carrying segments.
- Let the existing slow path handle validation and challenge ACKs.
- Remove the packetdrill reproducer from the commit message; add the
  packetdrill test separately.

v2: https://lore.kernel.org/netdev/20260909075644.1408171-1-inbal.lipshtat@mail.huji.ac.il/
v1: https://lore.kernel.org/netdev/20260906123151.1391349-1-inbal.lipshtat@mail.huji.ac.il/T/#u

Inbal Schussheim (2):
  tcp: exclude old ACKs from tcp fast path
  selftests: net: packetdrill: test exclusion of old ACK from TCP fast
    path

 net/ipv4/tcp_input.c                          |  3 +-
 .../tcp_rfc5961_reject-old-ack.pkt            | 29 +++++++++++++++++++
 2 files changed, 31 insertions(+), 1 deletion(-)
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_rfc5961_reject-old-ack.pkt

-- 
2.43.0


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

end of thread, other threads:[~2026-09-17 13:31 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-14  9:04 [PATCH net v3 0/2] tcp: exclude old ACKs from fast path Inbal Schussheim
2026-09-14  9:04 ` [PATCH net v3 1/2] tcp: exclude old ACKs from tcp " Inbal Schussheim
2026-09-14 10:40   ` Eric Dumazet
2026-09-16 21:04   ` netdev-bot+sashiko
2026-09-14  9:04 ` [PATCH net v3 2/2] selftests: net: packetdrill: test exclusion of old ACK from TCP " Inbal Schussheim
2026-09-14 10:41   ` Eric Dumazet
2026-09-16 21:04   ` netdev-bot+sashiko
2026-09-17 13:17     ` Paolo Abeni
2026-09-17 13:30 ` [PATCH net v3 0/2] tcp: exclude old ACKs from " patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox