Potential bug: errors from tcp_ack are ignored in tcp_rcv_synsent_state_process

From: <hidden>
Date: 2025-05-02 02:39:16

Hello,

I found something weird in tcp_rcv_synsent_state_process in net/ipv4/tcp_input.c

On line 6555, the return code for tcp_ack is ignored

...
tcp_ecn_rcv_synack(tp, th);

tcp_init_wl(tp, TCP_SKB_CB(skb)->seq);
tcp_try_undo_spurious_syn(sk);
tcp_ack(sk, skb, FLAG_SLOWPATH);
...

The three methods above tcp_ack are all void, so I can understand why the return value is ignored. My instincts are telling me that someone forgot to check the return value of tcp_ack, and this could be a big problem if we move to ESTABLISHED and the ACK is invalid for some reason.

Does this need to be fixed? What am I missing? If I could get some context here, I'll work on a fix. 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help