Thread (3 messages) 3 messages, 3 authors, 22d ago

Re: [PATCH net-next] tcp: remove dead code in tcp_rcv_state_process()

flat view

From: Xuanqiang Luo <hidden>
Date: 2026-09-23 01:22:18

On 2026/9/22 at 09:06 Eric Dumazet wrote:
Since commit 3d501dd326fb ("tcp: do not accept ACK of bytes we never
sent"), tcp_ack() bounds the acceptable old ACK window by
min(tp->max_window, tp->bytes_acked).

When sk->sk_state == TCP_SYN_RECV, tp->bytes_acked is always 0, so
any segment with before(ack, prior_snd_una) immediately returns
-SKB_DROP_REASON_TCP_TOO_OLD_ACK and never reaches the old_ack label
(which returns 0).

Therefore, tcp_ack() can only return 0 in closing states (where old
ACKs are accepted), and can never return 0 in TCP_SYN_RECV.

Simplify the tcp_ack() return value check in tcp_rcv_state_process()
to only check for negative return values and remove the unreachable
!reason branch.

Signed-off-by: Eric Dumazet <redacted>
Reviewed-by: Xuanqiang Luo <redacted>

Thanks,
Xuanqiang
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help