]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
net: fix regression introduced in 2.6.32.62 by sysctl fixes
authorWilly Tarreau <w@1wt.eu>
Sat, 14 Jun 2014 18:54:17 +0000 (20:54 +0200)
committerWilly Tarreau <w@1wt.eu>
Wed, 18 Jun 2014 22:26:00 +0000 (00:26 +0200)
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>
net/core/sysctl_net_core.c
net/ipv4/sysctl_net_ipv4.c

index e2eaf29e4257bc2e5819e5364332d72bba808fbc..e6bf72ce2fa781d9dbb577425504a5f2a8435a2b 100644 (file)
@@ -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 }
 };
index 910fa546f8206769393630616a19b175376d6730..d957371a80d0ad755d99a9182568d9886b017815 100644 (file)
@@ -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,