sk_ack_backlog & sk_max_ack_backlog were 16bit fields, meaning
listen() backlog was limited to 65535.
It is time to increase the width to allow much bigger backlog,
if admins change /proc/sys/net/core/somaxconn &
/proc/sys/net/ipv4/tcp_max_syn_backlog default values.
Tested:
echo 
5000000 >/proc/sys/net/core/somaxconn
echo 
5000000 >/proc/sys/net/ipv4/tcp_max_syn_backlog
Ran a SYNFLOOD test against a listener using listen(fd, 
5000000)
myhost~# grep request_sock_TCP /proc/slabinfo
request_sock_TCP  
4185642 4411940    304   13    1 : tunables   54   27    8 : slabdata 339380 339380      0
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
        rwlock_t                sk_callback_lock;
        int                     sk_err,
                                sk_err_soft;
-       unsigned short          sk_ack_backlog;
-       unsigned short          sk_max_ack_backlog;
+       u32                     sk_ack_backlog;
+       u32                     sk_max_ack_backlog;
        __u32                   sk_priority;
 #if IS_ENABLED(CONFIG_CGROUP_NET_PRIO)
        __u32                   sk_cgrp_prioidx;
 
 
 static int zero = 0;
 static int one = 1;
-static int ushort_max = USHRT_MAX;
 
 static int net_msg_warn;       /* Unused, but still a sysctl */
 
                .maxlen         = sizeof(int),
                .mode           = 0644,
                .extra1         = &zero,
-               .extra2         = &ushort_max,
                .proc_handler   = proc_dointvec_minmax
        },
        { }