Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6f9f48...
Commit: 6f9f489a4eeaa3c8a8618e078a5270d2c4872b67
Parent: 15d3b4a26291c170563e2b25ded5de1324f93959
Author: Al Viro <viro@zeniv.linux.org.uk>
AuthorDate: Sun Jul 27 04:40:51 2008 -0700
Committer: David S. Miller <davem@davemloft.net>
CommitDate: Sun Jul 27 04:40:51 2008 -0700
net: missing bits of net-namespace / sysctl
Piss-poor sysctl registration API strikes again, film at 11...
What we really need is _pathname_ required to be present in
already registered table, so that kernel could warn about bad
order. That's the next target for sysctl stuff (and generally
saner and more explicit order of initialization of ipv[46]
internals wouldn't hurt either).
For the time being, here are full fixups required by ..._rotable()
stuff; we make per-net sysctl sets descendents of "ro" one and
make sure that sufficient skeleton is there before we start registering
per-net sysctls.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
---
include/net/ipv6.h | 2 ++
include/net/route.h | 2 --
net/ipv4/route.c | 11 ++++++++++-
net/ipv4/sysctl_net_ipv4.c | 14 --------------
net/ipv6/af_inet6.c | 12 ++++++++++++
net/ipv6/sysctl_net_ipv6.c | 16 ++++++++++++++++
net/sysctl_net.c | 4 +++-
7 files changed, 43 insertions(+), 18 deletions(-)
diff --git a/include/net/ipv6.h b/include/net/ipv6.h
index 2d5c185..113028f 100644
--- a/include/net/ipv6.h
+++ b/include/net/ipv6.h
@@ -608,6 +608,8 @@ extern struct ctl_table *ipv6_icmp_sysctl_init(struct net *net);
extern struct ctl_table *ipv6_route_sysctl_init(struct net *net);
extern int ipv6_sysctl_register(void);
extern void ipv6_sysctl_unregister(void);
+extern int ipv6_static_sysctl_register(void);
+extern void ...