mirror of
https://github.com/torvalds/linux.git
synced 2026-06-08 14:42:37 +02:00
net: move somaxconn init from sysctl code
[ Upstream commit7c3f1875c6] The default value for somaxconn is set in sysctl_core_net_init(), but this function is not called when kernel is configured without CONFIG_SYSCTL. This results in the kernel not being able to accept TCP connections, because the backlog has zero size. Usually, the user ends up with: "TCP: request_sock_TCP: Possible SYN flooding on port 7. Dropping request. Check SNMP counters." If SYN cookies are not enabled the connection is rejected. Beforeef547f2ac1(tcp: remove max_qlen_log), the effects were less severe, because the backlog was always at least eight slots long. Signed-off-by: Roman Kapl <roman.kapl@sysgo.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
87d96d1ba2
commit
78aa52dab5
|
|
@ -310,6 +310,25 @@ static __net_init int setup_net(struct net *net, struct user_namespace *user_ns)
|
|||
goto out;
|
||||
}
|
||||
|
||||
static int __net_init net_defaults_init_net(struct net *net)
|
||||
{
|
||||
net->core.sysctl_somaxconn = SOMAXCONN;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct pernet_operations net_defaults_ops = {
|
||||
.init = net_defaults_init_net,
|
||||
};
|
||||
|
||||
static __init int net_defaults_init(void)
|
||||
{
|
||||
if (register_pernet_subsys(&net_defaults_ops))
|
||||
panic("Cannot initialize net default settings");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
core_initcall(net_defaults_init);
|
||||
|
||||
#ifdef CONFIG_NET_NS
|
||||
static struct kmem_cache *net_cachep;
|
||||
|
|
|
|||
|
|
@ -429,8 +429,6 @@ static __net_init int sysctl_core_net_init(struct net *net)
|
|||
{
|
||||
struct ctl_table *tbl;
|
||||
|
||||
net->core.sysctl_somaxconn = SOMAXCONN;
|
||||
|
||||
tbl = netns_core_table;
|
||||
if (!net_eq(net, &init_net)) {
|
||||
tbl = kmemdup(tbl, sizeof(netns_core_table), GFP_KERNEL);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user