aboutsummaryrefslogtreecommitdiffstats
path: root/net/socket.c
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2012-04-19 13:20:32 +0000
committerDavid S. Miller <davem@davemloft.net>2012-04-20 21:21:16 -0400
commit2ca794e5e86c800d7f98c4ebb8bd325099c0afe8 (patch)
treef0ae38f58dec5a07ae57e31aca4943c85ffe9d65 /net/socket.c
parentnet sysctl: Register an empty /proc/sys/net (diff)
downloadlinux-dev-2ca794e5e86c800d7f98c4ebb8bd325099c0afe8.tar.xz
linux-dev-2ca794e5e86c800d7f98c4ebb8bd325099c0afe8.zip
net sysctl: Initialize the network sysctls sooner to avoid problems.
If the netfilter code is modified to use register_net_sysctl_table the kernel fails to boot because the per net sysctl infrasturce is not setup soon enough. So to avoid races call net_sysctl_init from sock_init(). Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Acked-by: Pavel Emelyanov <xemul@parallels.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/socket.c')
-rw-r--r--net/socket.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/net/socket.c b/net/socket.c
index d6c1af9ae7b2..e34510928dcc 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -2524,6 +2524,12 @@ EXPORT_SYMBOL(sock_unregister);
static int __init sock_init(void)
{
int err;
+ /*
+ * Initialize the network sysctl infrastructure.
+ */
+ err = net_sysctl_init();
+ if (err)
+ goto out;
/*
* Initialize sock SLAB cache.