diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2007-02-14 03:34:09 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-14 11:09:59 -0500 |
commit | 0b4d414714f0d2f922d39424b0c5c82ad900a381 (patch) | |
tree | 5079ec59a5622c9cacfe0fce484ba2c4626c406f /net/ipv6 | |
parent | ae836810263509ff7a3c2c021754ce6f66b3fab6 (diff) |
[PATCH] sysctl: remove insert_at_head from register_sysctl
The semantic effect of insert_at_head is that it would allow new registered
sysctl entries to override existing sysctl entries of the same name. Which is
pain for caching and the proc interface never implemented.
I have done an audit and discovered that none of the current users of
register_sysctl care as (excpet for directories) they do not register
duplicate sysctl entries.
So this patch simply removes the support for overriding existing entries in
the sys_sysctl interface since no one uses it or cares and it makes future
enhancments harder.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Acked-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: David Howells <dhowells@redhat.com>
Cc: "Luck, Tony" <tony.luck@intel.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Andi Kleen <ak@muc.de>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Corey Minyard <minyard@acm.org>
Cc: Neil Brown <neilb@suse.de>
Cc: "John W. Linville" <linville@tuxdriver.com>
Cc: James Bottomley <James.Bottomley@steeleye.com>
Cc: Jan Kara <jack@ucw.cz>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
Cc: Mark Fasheh <mark.fasheh@oracle.com>
Cc: David Chinner <dgc@sgi.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Patrick McHardy <kaber@trash.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'net/ipv6')
-rw-r--r-- | net/ipv6/addrconf.c | 4 | ||||
-rw-r--r-- | net/ipv6/netfilter/ip6_queue.c | 2 | ||||
-rw-r--r-- | net/ipv6/sysctl_net_ipv6.c | 2 |
3 files changed, 4 insertions, 4 deletions
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index 4702954bf0ac..34d80b4aaa04 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c | |||
@@ -4029,7 +4029,7 @@ static void addrconf_sysctl_register(struct inet6_dev *idev, struct ipv6_devconf | |||
4029 | t->addrconf_root_dir[0].child = t->addrconf_proto_dir; | 4029 | t->addrconf_root_dir[0].child = t->addrconf_proto_dir; |
4030 | t->addrconf_root_dir[0].de = NULL; | 4030 | t->addrconf_root_dir[0].de = NULL; |
4031 | 4031 | ||
4032 | t->sysctl_header = register_sysctl_table(t->addrconf_root_dir, 0); | 4032 | t->sysctl_header = register_sysctl_table(t->addrconf_root_dir); |
4033 | if (t->sysctl_header == NULL) | 4033 | if (t->sysctl_header == NULL) |
4034 | goto free_procname; | 4034 | goto free_procname; |
4035 | else | 4035 | else |
@@ -4114,7 +4114,7 @@ int __init addrconf_init(void) | |||
4114 | rtnetlink_links[PF_INET6] = inet6_rtnetlink_table; | 4114 | rtnetlink_links[PF_INET6] = inet6_rtnetlink_table; |
4115 | #ifdef CONFIG_SYSCTL | 4115 | #ifdef CONFIG_SYSCTL |
4116 | addrconf_sysctl.sysctl_header = | 4116 | addrconf_sysctl.sysctl_header = |
4117 | register_sysctl_table(addrconf_sysctl.addrconf_root_dir, 0); | 4117 | register_sysctl_table(addrconf_sysctl.addrconf_root_dir); |
4118 | addrconf_sysctl_register(NULL, &ipv6_devconf_dflt); | 4118 | addrconf_sysctl_register(NULL, &ipv6_devconf_dflt); |
4119 | #endif | 4119 | #endif |
4120 | 4120 | ||
diff --git a/net/ipv6/netfilter/ip6_queue.c b/net/ipv6/netfilter/ip6_queue.c index 58847d3b61e5..fdb30a5916e5 100644 --- a/net/ipv6/netfilter/ip6_queue.c +++ b/net/ipv6/netfilter/ip6_queue.c | |||
@@ -683,7 +683,7 @@ static int __init ip6_queue_init(void) | |||
683 | } | 683 | } |
684 | 684 | ||
685 | register_netdevice_notifier(&ipq_dev_notifier); | 685 | register_netdevice_notifier(&ipq_dev_notifier); |
686 | ipq_sysctl_header = register_sysctl_table(ipq_root_table, 0); | 686 | ipq_sysctl_header = register_sysctl_table(ipq_root_table); |
687 | 687 | ||
688 | status = nf_register_queue_handler(PF_INET6, &nfqh); | 688 | status = nf_register_queue_handler(PF_INET6, &nfqh); |
689 | if (status < 0) { | 689 | if (status < 0) { |
diff --git a/net/ipv6/sysctl_net_ipv6.c b/net/ipv6/sysctl_net_ipv6.c index 25e8e7783fee..3fb44277207b 100644 --- a/net/ipv6/sysctl_net_ipv6.c +++ b/net/ipv6/sysctl_net_ipv6.c | |||
@@ -107,7 +107,7 @@ static ctl_table ipv6_root_table[] = { | |||
107 | 107 | ||
108 | void ipv6_sysctl_register(void) | 108 | void ipv6_sysctl_register(void) |
109 | { | 109 | { |
110 | ipv6_sysctl_header = register_sysctl_table(ipv6_root_table, 0); | 110 | ipv6_sysctl_header = register_sysctl_table(ipv6_root_table); |
111 | } | 111 | } |
112 | 112 | ||
113 | void ipv6_sysctl_unregister(void) | 113 | void ipv6_sysctl_unregister(void) |