net: Move all of the network sysctls without a namespace into init_net.

This makes it clearer which sysctls are relative to your current network
namespace.

This makes it a little less error prone by not exposing sysctls for the
initial network namespace in other namespaces.

This is the same way we handle all of our other network interfaces to
userspace and I can't honestly remember why we didn't do this for
sysctls right from the start.

Signed-off-by: Eric W. Biederman <[email protected]>
Acked-by: Pavel Emelyanov <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
This commit is contained in:
Eric W. Biederman 2012-04-19 13:24:33 +00:00 • committed by David S. Miller
commit 5dd3df105b
31 changed files with 60 additions and 58 deletions

View file

@ -8,6 +8,7 @@
#include <linux/mm.h>
#include <linux/sysctl.h>
#include <net/net_namespace.h>
#ifndef CONFIG_SYSCTL
#error This file should not be compiled without CONFIG_SYSCTL defined
@ -37,10 +38,10 @@ static struct ctl_table_header *ipx_table_header;
void ipx_register_sysctl(void)
{
ipx_table_header = register_sysctl_paths(ipx_path, ipx_table);
ipx_table_header = register_net_sysctl_table(&init_net, ipx_path, ipx_table);
}
void ipx_unregister_sysctl(void)
{
unregister_sysctl_table(ipx_table_header);
unregister_net_sysctl_table(ipx_table_header);
}