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/ipv4 | |
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/ipv4')
-rw-r--r-- | net/ipv4/devinet.c | 4 | ||||
-rw-r--r-- | net/ipv4/ipvs/ip_vs_ctl.c | 2 | ||||
-rw-r--r-- | net/ipv4/ipvs/ip_vs_lblc.c | 2 | ||||
-rw-r--r-- | net/ipv4/ipvs/ip_vs_lblcr.c | 2 | ||||
-rw-r--r-- | net/ipv4/netfilter/ip_conntrack_proto_sctp.c | 2 | ||||
-rw-r--r-- | net/ipv4/netfilter/ip_conntrack_standalone.c | 2 | ||||
-rw-r--r-- | net/ipv4/netfilter/ip_queue.c | 2 |
7 files changed, 8 insertions, 8 deletions
diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c index 52db485a88f3..bf3eb2dc7662 100644 --- a/net/ipv4/devinet.c +++ b/net/ipv4/devinet.c | |||
@@ -1606,7 +1606,7 @@ static void devinet_sysctl_register(struct in_device *in_dev, | |||
1606 | t->devinet_root_dir[0].child = t->devinet_proto_dir; | 1606 | t->devinet_root_dir[0].child = t->devinet_proto_dir; |
1607 | t->devinet_root_dir[0].de = NULL; | 1607 | t->devinet_root_dir[0].de = NULL; |
1608 | 1608 | ||
1609 | t->sysctl_header = register_sysctl_table(t->devinet_root_dir, 0); | 1609 | t->sysctl_header = register_sysctl_table(t->devinet_root_dir); |
1610 | if (!t->sysctl_header) | 1610 | if (!t->sysctl_header) |
1611 | goto free_procname; | 1611 | goto free_procname; |
1612 | 1612 | ||
@@ -1640,7 +1640,7 @@ void __init devinet_init(void) | |||
1640 | rtnetlink_links[PF_INET] = inet_rtnetlink_table; | 1640 | rtnetlink_links[PF_INET] = inet_rtnetlink_table; |
1641 | #ifdef CONFIG_SYSCTL | 1641 | #ifdef CONFIG_SYSCTL |
1642 | devinet_sysctl.sysctl_header = | 1642 | devinet_sysctl.sysctl_header = |
1643 | register_sysctl_table(devinet_sysctl.devinet_root_dir, 0); | 1643 | register_sysctl_table(devinet_sysctl.devinet_root_dir); |
1644 | devinet_sysctl_register(NULL, &ipv4_devconf_dflt); | 1644 | devinet_sysctl_register(NULL, &ipv4_devconf_dflt); |
1645 | #endif | 1645 | #endif |
1646 | } | 1646 | } |
diff --git a/net/ipv4/ipvs/ip_vs_ctl.c b/net/ipv4/ipvs/ip_vs_ctl.c index 8b08d9cdcbc8..b3050a6817e7 100644 --- a/net/ipv4/ipvs/ip_vs_ctl.c +++ b/net/ipv4/ipvs/ip_vs_ctl.c | |||
@@ -2359,7 +2359,7 @@ int ip_vs_control_init(void) | |||
2359 | proc_net_fops_create("ip_vs", 0, &ip_vs_info_fops); | 2359 | proc_net_fops_create("ip_vs", 0, &ip_vs_info_fops); |
2360 | proc_net_fops_create("ip_vs_stats",0, &ip_vs_stats_fops); | 2360 | proc_net_fops_create("ip_vs_stats",0, &ip_vs_stats_fops); |
2361 | 2361 | ||
2362 | sysctl_header = register_sysctl_table(vs_root_table, 0); | 2362 | sysctl_header = register_sysctl_table(vs_root_table); |
2363 | 2363 | ||
2364 | /* Initialize ip_vs_svc_table, ip_vs_svc_fwm_table, ip_vs_rtable */ | 2364 | /* Initialize ip_vs_svc_table, ip_vs_svc_fwm_table, ip_vs_rtable */ |
2365 | for(idx = 0; idx < IP_VS_SVC_TAB_SIZE; idx++) { | 2365 | for(idx = 0; idx < IP_VS_SVC_TAB_SIZE; idx++) { |
diff --git a/net/ipv4/ipvs/ip_vs_lblc.c b/net/ipv4/ipvs/ip_vs_lblc.c index 76fd1fb91878..c801273cb881 100644 --- a/net/ipv4/ipvs/ip_vs_lblc.c +++ b/net/ipv4/ipvs/ip_vs_lblc.c | |||
@@ -583,7 +583,7 @@ static struct ip_vs_scheduler ip_vs_lblc_scheduler = | |||
583 | static int __init ip_vs_lblc_init(void) | 583 | static int __init ip_vs_lblc_init(void) |
584 | { | 584 | { |
585 | INIT_LIST_HEAD(&ip_vs_lblc_scheduler.n_list); | 585 | INIT_LIST_HEAD(&ip_vs_lblc_scheduler.n_list); |
586 | sysctl_header = register_sysctl_table(lblc_root_table, 0); | 586 | sysctl_header = register_sysctl_table(lblc_root_table); |
587 | return register_ip_vs_scheduler(&ip_vs_lblc_scheduler); | 587 | return register_ip_vs_scheduler(&ip_vs_lblc_scheduler); |
588 | } | 588 | } |
589 | 589 | ||
diff --git a/net/ipv4/ipvs/ip_vs_lblcr.c b/net/ipv4/ipvs/ip_vs_lblcr.c index bf1e7f272b84..23f9b9e73c85 100644 --- a/net/ipv4/ipvs/ip_vs_lblcr.c +++ b/net/ipv4/ipvs/ip_vs_lblcr.c | |||
@@ -841,7 +841,7 @@ static struct ip_vs_scheduler ip_vs_lblcr_scheduler = | |||
841 | static int __init ip_vs_lblcr_init(void) | 841 | static int __init ip_vs_lblcr_init(void) |
842 | { | 842 | { |
843 | INIT_LIST_HEAD(&ip_vs_lblcr_scheduler.n_list); | 843 | INIT_LIST_HEAD(&ip_vs_lblcr_scheduler.n_list); |
844 | sysctl_header = register_sysctl_table(lblcr_root_table, 0); | 844 | sysctl_header = register_sysctl_table(lblcr_root_table); |
845 | #ifdef CONFIG_IP_VS_LBLCR_DEBUG | 845 | #ifdef CONFIG_IP_VS_LBLCR_DEBUG |
846 | proc_net_create("ip_vs_lblcr", 0, ip_vs_lblcr_getinfo); | 846 | proc_net_create("ip_vs_lblcr", 0, ip_vs_lblcr_getinfo); |
847 | #endif | 847 | #endif |
diff --git a/net/ipv4/netfilter/ip_conntrack_proto_sctp.c b/net/ipv4/netfilter/ip_conntrack_proto_sctp.c index 2c02ff03bc4c..e6942992b2f6 100644 --- a/net/ipv4/netfilter/ip_conntrack_proto_sctp.c +++ b/net/ipv4/netfilter/ip_conntrack_proto_sctp.c | |||
@@ -622,7 +622,7 @@ static int __init ip_conntrack_proto_sctp_init(void) | |||
622 | } | 622 | } |
623 | 623 | ||
624 | #ifdef CONFIG_SYSCTL | 624 | #ifdef CONFIG_SYSCTL |
625 | ip_ct_sysctl_header = register_sysctl_table(ip_ct_net_table, 0); | 625 | ip_ct_sysctl_header = register_sysctl_table(ip_ct_net_table); |
626 | if (ip_ct_sysctl_header == NULL) { | 626 | if (ip_ct_sysctl_header == NULL) { |
627 | ret = -ENOMEM; | 627 | ret = -ENOMEM; |
628 | printk("ip_conntrack_proto_sctp: can't register to sysctl.\n"); | 628 | printk("ip_conntrack_proto_sctp: can't register to sysctl.\n"); |
diff --git a/net/ipv4/netfilter/ip_conntrack_standalone.c b/net/ipv4/netfilter/ip_conntrack_standalone.c index c7c1ec61b0f5..56b2f7546d1e 100644 --- a/net/ipv4/netfilter/ip_conntrack_standalone.c +++ b/net/ipv4/netfilter/ip_conntrack_standalone.c | |||
@@ -848,7 +848,7 @@ static int __init ip_conntrack_standalone_init(void) | |||
848 | goto cleanup_proc_stat; | 848 | goto cleanup_proc_stat; |
849 | } | 849 | } |
850 | #ifdef CONFIG_SYSCTL | 850 | #ifdef CONFIG_SYSCTL |
851 | ip_ct_sysctl_header = register_sysctl_table(ip_ct_net_table, 0); | 851 | ip_ct_sysctl_header = register_sysctl_table(ip_ct_net_table); |
852 | if (ip_ct_sysctl_header == NULL) { | 852 | if (ip_ct_sysctl_header == NULL) { |
853 | printk("ip_conntrack: can't register to sysctl.\n"); | 853 | printk("ip_conntrack: can't register to sysctl.\n"); |
854 | ret = -ENOMEM; | 854 | ret = -ENOMEM; |
diff --git a/net/ipv4/netfilter/ip_queue.c b/net/ipv4/netfilter/ip_queue.c index 68bf19f3b01c..a14798a850d7 100644 --- a/net/ipv4/netfilter/ip_queue.c +++ b/net/ipv4/netfilter/ip_queue.c | |||
@@ -693,7 +693,7 @@ static int __init ip_queue_init(void) | |||
693 | } | 693 | } |
694 | 694 | ||
695 | register_netdevice_notifier(&ipq_dev_notifier); | 695 | register_netdevice_notifier(&ipq_dev_notifier); |
696 | ipq_sysctl_header = register_sysctl_table(ipq_root_table, 0); | 696 | ipq_sysctl_header = register_sysctl_table(ipq_root_table); |
697 | 697 | ||
698 | status = nf_register_queue_handler(PF_INET, &nfqh); | 698 | status = nf_register_queue_handler(PF_INET, &nfqh); |
699 | if (status < 0) { | 699 | if (status < 0) { |