Isolate the net/core/ sysctl table
Subsystems (3)
PATCH 2/6 Isolate the net/core/ sysctl table
Using ctl paths we can put all the stuff, related to net/core/ sysctl table, into one file and remove all the references on it.
As a good side effect this hides the "core_table" name from the global name space :)
Signed-off-by Pavel Emelyanov <[email protected]>
---
include/net/sock.h +0 -4
@@ -1325,10 +1325,6 @@ extern __u32 sysctl_rmem_max;extern void sk_init (void ); -#ifdef CONFIG_SYSCTL -extern struct ctl_table core_table[]; -#endif -extern int sysctl_optmem_max;extern __u32 sysctl_wmem_default;
net/core/sysctl_net_core.c +18 -1
@@ -10,10 +10,11 @@#include <linux/module.h> #include <linux/socket.h> #include <linux/netdevice.h> +#include <linux/init.h> #include <net/sock.h> #include <net/xfrm.h> -ctl_table core_table[] = { +static struct ctl_table net_core_table[] = { #ifdef CONFIG_NET { .ctl_name = NET_CORE_WMEM_MAX,
@@ -149,3 +150,19 @@ ctl_table core_table[] = { }, { .ctl_name = 0 } }; + +static __initdata struct ctl_path net_core_path[] = { + { .procname ="net" , .ctl_name =CTL_NET , }, + { .procname ="core" , .ctl_name =NET_CORE , }, + { }, +}; + +static __init int sysctl_core_init (void ) +{ +struct ctl_table_header *hdr; + + hdr =register_sysctl_paths (net_core_path, net_core_table); +return hdr ==NULL ? -ENOMEM :0 ; +} + +__initcall (sysctl_core_init);
net/sysctl_net.c +0 -6
@@ -31,12 +31,6 @@#endif struct ctl_table net_table[] = { - { - .ctl_name =NET_CORE , - .procname ="core" , - .mode =0555 , - .child = core_table, - }, #ifdef CONFIG_INET { .ctl_name = NET_IPV4,
Signature · 1 line
1.5.3.4