From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yafang Shao Subject: [PATCH v2 net-next] inet: do not set backlog if listen fails Date: Sun, 7 Oct 2018 21:36:45 +0800 Message-ID: <1538919405-3093-1-git-send-email-laoar.shao@gmail.com> Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Yafang Shao To: edumazet@google.com, davem@davemloft.net Return-path: Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org We don't need to set the backlog if listen fails. The sk_max_ack_backlog will be set in the caller inet_listen() and dccp_listen_start() if inet_csk_listen_start() return without error. So just remove this line to avoid this unnecessary operation. Regarding sk_ack_backlog, we have to set it before a TCP/DCCP socket is ready to accept new flows to avoid race, because dccp and tcp have lockless listeners Signed-off-by: Yafang Shao --- net/ipv4/inet_connection_sock.c | 1 - 1 file changed, 1 deletion(-) diff --git a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c index dfd5009..cdd5c95 100644 --- a/net/ipv4/inet_connection_sock.c +++ b/net/ipv4/inet_connection_sock.c @@ -871,7 +871,6 @@ int inet_csk_listen_start(struct sock *sk, int backlog) reqsk_queue_alloc(&icsk->icsk_accept_queue); - sk->sk_max_ack_backlog = backlog; sk->sk_ack_backlog = 0; inet_csk_delack_init(sk); -- 1.8.3.1