From 1b2cedebc035fad3ebe380c67e3d9a2c2c7e0742 Mon Sep 17 00:00:00 2001 From: Peter Wu Date: Wed, 4 May 2016 11:13:40 +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 --- gdbstub.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdbstub.c b/gdbstub.c index b126bf5b6d..f181dc3d80 100644 --- a/gdbstub.c +++ b/gdbstub.c @@ -1630,7 +1630,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