diff options
author | Willy Tarreau <w@1wt.eu> | 2014-06-14 20:54:17 +0200 |
---|---|---|
committer | Willy Tarreau <w@1wt.eu> | 2014-06-19 00:26:00 +0200 |
commit | b90422defca0edf97b3524248e239345debaf2fd (patch) | |
tree | a57f4971029f4f953a1cc8fc3d0603c9163d4263 | |
parent | a986d9c350c41fbb56b75d9da04a9725a044454a (diff) |
net: fix regression introduced in 2.6.32.62 by sysctl fixes
Commits b7c9e4ee1 ("sysctl net: Keep tcp_syn_retries inside the boundary")
and eedcafdc ("net: check net.core.somaxconn sysctl values") were missing
a .strategy entry which is still required in 2.6.32. Because of this, the
Ubuntu kernel team has faced kernel dumps during their testing.
Tyler Hicks and Luis Henriques proposed this patch to fix the issue,
which properly sets .strategy as needed in 2.6.32.
Reported-by: Luis Henriques <luis.henriques@canonical.com>
Cc: tyler.hicks@canonical.com
Cc: Michal Tesar <mtesar@redhat.com>
Cc: David S. Miller <davem@davemloft.net>
Signed-off-by: Willy Tarreau <w@1wt.eu>
-rw-r--r-- | net/core/sysctl_net_core.c | 3 | ||||
-rw-r--r-- | net/ipv4/sysctl_net_ipv4.c | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/net/core/sysctl_net_core.c b/net/core/sysctl_net_core.c index e2eaf29e425..e6bf72ce2fa 100644 --- a/net/core/sysctl_net_core.c +++ b/net/core/sysctl_net_core.c @@ -121,7 +121,8 @@ static struct ctl_table netns_core_table[] = { .mode = 0644, .extra1 = &zero, .extra2 = &ushort_max, - .proc_handler = proc_dointvec_minmax + .proc_handler = proc_dointvec_minmax, + .strategy = &sysctl_intvec }, { .ctl_name = 0 } }; diff --git a/net/ipv4/sysctl_net_ipv4.c b/net/ipv4/sysctl_net_ipv4.c index 910fa546f82..d957371a80d 100644 --- a/net/ipv4/sysctl_net_ipv4.c +++ b/net/ipv4/sysctl_net_ipv4.c @@ -241,7 +241,8 @@ static struct ctl_table ipv4_table[] = { .mode = 0644, .proc_handler = proc_dointvec_minmax, .extra1 = &tcp_syn_retries_min, - .extra2 = &tcp_syn_retries_max + .extra2 = &tcp_syn_retries_max, + .strategy = &sysctl_intvec }, { .ctl_name = NET_IPV4_NONLOCAL_BIND, |