aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2015-10-06 17:49:58 -0400
committerDavid S. Miller <davem@davemloft.net>2015-10-07 08:08:58 -0400
commitacb4a6bfc80ddeea4c44074dd630f916259e909e (patch)
treec7745772d9dac017daf2754ed3e46be9149d7659 /net/ipv4
parent686a562449af96a0e8c18c6f1b87b47ff8c36de8 (diff)
tcp: ensure prior synack rtx behavior with small backlogs
Some applications use a listen() backlog of 1. Prior kernels were silently enforcing a qlen_log of 4, so that we were sending up to /proc/sys/net/ipv4/tcp_synack_retries SYNACK messages. Fixes: ef547f2ac16b ("tcp: remove max_qlen_log") Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4')
-rw-r--r--net/ipv4/inet_connection_sock.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c
index 89eedfbd4ad5..514b9e910bd4 100644
--- a/net/ipv4/inet_connection_sock.c
+++ b/net/ipv4/inet_connection_sock.c
@@ -579,7 +579,7 @@ static void reqsk_timer_handler(unsigned long data)
579 * ones are about to clog our table. 579 * ones are about to clog our table.
580 */ 580 */
581 qlen = reqsk_queue_len(queue); 581 qlen = reqsk_queue_len(queue);
582 if ((qlen << 1) > sk_listener->sk_max_ack_backlog) { 582 if ((qlen << 1) > max(8U, sk_listener->sk_max_ack_backlog)) {
583 int young = reqsk_queue_len_young(queue) << 1; 583 int young = reqsk_queue_len_young(queue) << 1;
584 584
585 while (thresh > 2) { 585 while (thresh > 2) {