diff options
author | Willy Tarreau <w@1wt.eu> | 2014-06-14 20:54:17 +0200 |
---|---|---|
committer | Stefan Bader <stefan.bader@canonical.com> | 2014-06-26 13:17:09 +0200 |
commit | 035367bdff763350e6c5bc3bf2aea147e21451ba (patch) | |
tree | c44d9623f148f13a40acbfbbaf3f62a65e6dca1d | |
parent | 8f1a3110454990ea2937562e1ebc6acd77151412 (diff) | |
download | linux-2.6.32.y-drm33.z-035367bdff763350e6c5bc3bf2aea147e21451ba.tar.gz |
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>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
-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 e2eaf29e4257b..e6bf72ce2fa78 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 910fa546f8206..d957371a80d0a 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, |