Potential bug: errors from tcp_ack are ignored in tcp_rcv_synsent_state_process
From: <hidden>
Date: 2025-05-02 02:39:16
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.