From 96165b9eb4207a34a87c46df731d3cc42c052e13 Mon Sep 17 00:00:00 2001 From: Peter Wu Date: Wed, 4 May 2016 11:32:17 +0200 Subject: gdbstub: set listen backlog to 1 Avoid possible connection drops on Linux (when tcp_syncookies is disabled) or fallbacks to SYN cookies with the following kernel warning: TCP: request_sock_TCP: Possible SYN flooding on port 1234. Sending cookies. Check SNMP counters. Since Linux 4.4 (ef547f2ac16b "tcp: remove max_qlen_log"), a backlog of zero is really treated as the "queue length for completely established sockets waiting to be accepted" (listen(2)). This is apparently a valid interpretation of an "implementation-defined minimum value" for a backlog value of 0 (listen(3p)). Previous kernels would use 8 as minimum value, but that is no longer the case. Signed-off-by: Peter Wu Signed-off-by: Michael Tokarev --- gdbstub.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gdbstub.c') diff --git a/gdbstub.c b/gdbstub.c index 8155eedf9c..9d3951336f 100644 --- a/gdbstub.c +++ b/gdbstub.c @@ -1631,7 +1631,7 @@ static int gdbserver_open(int port) close(fd); return -1; } - ret = listen(fd, 0); + ret = listen(fd, 1); if (ret < 0) { perror("listen"); close(fd); -- cgit v1.2.1