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 | |
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>
68 files changed, 75 insertions, 80 deletions
diff --git a/arch/arm/kernel/isa.c b/arch/arm/kernel/isa.c index 54bbd9fe255c..50a30bc91872 100644 --- a/arch/arm/kernel/isa.c +++ b/arch/arm/kernel/isa.c | |||
@@ -70,5 +70,5 @@ register_isa_ports(unsigned int membase, unsigned int portbase, unsigned int por | |||
70 | isa_membase = membase; | 70 | isa_membase = membase; |
71 | isa_portbase = portbase; | 71 | isa_portbase = portbase; |
72 | isa_portshift = portshift; | 72 | isa_portshift = portshift; |
73 | isa_sysctl_header = register_sysctl_table(ctl_bus, 0); | 73 | isa_sysctl_header = register_sysctl_table(ctl_bus); |
74 | } | 74 | } |
diff --git a/arch/frv/kernel/pm.c b/arch/frv/kernel/pm.c index aa503338985f..c57ce3f1f2e2 100644 --- a/arch/frv/kernel/pm.c +++ b/arch/frv/kernel/pm.c | |||
@@ -455,7 +455,7 @@ static struct ctl_table pm_dir_table[] = | |||
455 | */ | 455 | */ |
456 | static int __init pm_init(void) | 456 | static int __init pm_init(void) |
457 | { | 457 | { |
458 | register_sysctl_table(pm_dir_table, 0); | 458 | register_sysctl_table(pm_dir_table); |
459 | return 0; | 459 | return 0; |
460 | } | 460 | } |
461 | 461 | ||
diff --git a/arch/frv/kernel/sysctl.c b/arch/frv/kernel/sysctl.c index 577ad16cf840..3e9d7e03fb95 100644 --- a/arch/frv/kernel/sysctl.c +++ b/arch/frv/kernel/sysctl.c | |||
@@ -216,7 +216,7 @@ static struct ctl_table frv_dir_table[] = | |||
216 | */ | 216 | */ |
217 | static int __init frv_sysctl_init(void) | 217 | static int __init frv_sysctl_init(void) |
218 | { | 218 | { |
219 | register_sysctl_table(frv_dir_table, 0); | 219 | register_sysctl_table(frv_dir_table); |
220 | return 0; | 220 | return 0; |
221 | } | 221 | } |
222 | 222 | ||
diff --git a/arch/ia64/kernel/crash.c b/arch/ia64/kernel/crash.c index 37bb16f07fc3..5cdd2f5fa064 100644 --- a/arch/ia64/kernel/crash.c +++ b/arch/ia64/kernel/crash.c | |||
@@ -222,7 +222,7 @@ machine_crash_setup(void) | |||
222 | if((ret = register_die_notifier(&kdump_init_notifier_nb)) != 0) | 222 | if((ret = register_die_notifier(&kdump_init_notifier_nb)) != 0) |
223 | return ret; | 223 | return ret; |
224 | #ifdef CONFIG_SYSCTL | 224 | #ifdef CONFIG_SYSCTL |
225 | register_sysctl_table(sys_table, 0); | 225 | register_sysctl_table(sys_table); |
226 | #endif | 226 | #endif |
227 | return 0; | 227 | return 0; |
228 | } | 228 | } |
diff --git a/arch/ia64/kernel/perfmon.c b/arch/ia64/kernel/perfmon.c index d2f299d98977..2ecb20b551e1 100644 --- a/arch/ia64/kernel/perfmon.c +++ b/arch/ia64/kernel/perfmon.c | |||
@@ -6726,7 +6726,7 @@ pfm_init(void) | |||
6726 | /* | 6726 | /* |
6727 | * create /proc/sys/kernel/perfmon (for debugging purposes) | 6727 | * create /proc/sys/kernel/perfmon (for debugging purposes) |
6728 | */ | 6728 | */ |
6729 | pfm_sysctl_header = register_sysctl_table(pfm_sysctl_root, 0); | 6729 | pfm_sysctl_header = register_sysctl_table(pfm_sysctl_root); |
6730 | 6730 | ||
6731 | /* | 6731 | /* |
6732 | * initialize all our spinlocks | 6732 | * initialize all our spinlocks |
diff --git a/arch/ia64/sn/kernel/xpc_main.c b/arch/ia64/sn/kernel/xpc_main.c index e04f7b5f2aab..68355ef6f841 100644 --- a/arch/ia64/sn/kernel/xpc_main.c +++ b/arch/ia64/sn/kernel/xpc_main.c | |||
@@ -1241,7 +1241,7 @@ xpc_init(void) | |||
1241 | snprintf(xpc_part->bus_id, BUS_ID_SIZE, "part"); | 1241 | snprintf(xpc_part->bus_id, BUS_ID_SIZE, "part"); |
1242 | snprintf(xpc_chan->bus_id, BUS_ID_SIZE, "chan"); | 1242 | snprintf(xpc_chan->bus_id, BUS_ID_SIZE, "chan"); |
1243 | 1243 | ||
1244 | xpc_sysctl = register_sysctl_table(xpc_sys_dir, 0); | 1244 | xpc_sysctl = register_sysctl_table(xpc_sys_dir); |
1245 | 1245 | ||
1246 | /* | 1246 | /* |
1247 | * The first few fields of each entry of xpc_partitions[] need to | 1247 | * The first few fields of each entry of xpc_partitions[] need to |
diff --git a/arch/mips/au1000/common/power.c b/arch/mips/au1000/common/power.c index 31256b85df6d..3901e8e04755 100644 --- a/arch/mips/au1000/common/power.c +++ b/arch/mips/au1000/common/power.c | |||
@@ -461,7 +461,7 @@ static struct ctl_table pm_dir_table[] = { | |||
461 | */ | 461 | */ |
462 | static int __init pm_init(void) | 462 | static int __init pm_init(void) |
463 | { | 463 | { |
464 | register_sysctl_table(pm_dir_table, 0); | 464 | register_sysctl_table(pm_dir_table); |
465 | return 0; | 465 | return 0; |
466 | } | 466 | } |
467 | 467 | ||
diff --git a/arch/mips/lasat/sysctl.c b/arch/mips/lasat/sysctl.c index c04e82fb9d59..699ab1886ceb 100644 --- a/arch/mips/lasat/sysctl.c +++ b/arch/mips/lasat/sysctl.c | |||
@@ -432,7 +432,7 @@ static int __init lasat_register_sysctl(void) | |||
432 | struct ctl_table_header *lasat_table_header; | 432 | struct ctl_table_header *lasat_table_header; |
433 | 433 | ||
434 | lasat_table_header = | 434 | lasat_table_header = |
435 | register_sysctl_table(lasat_root_table, 0); | 435 | register_sysctl_table(lasat_root_table); |
436 | 436 | ||
437 | return 0; | 437 | return 0; |
438 | } | 438 | } |
diff --git a/arch/powerpc/kernel/idle.c b/arch/powerpc/kernel/idle.c index 8b27bb1a5b31..6e7f50967bab 100644 --- a/arch/powerpc/kernel/idle.c +++ b/arch/powerpc/kernel/idle.c | |||
@@ -125,7 +125,7 @@ static ctl_table powersave_nap_sysctl_root[] = { | |||
125 | static int __init | 125 | static int __init |
126 | register_powersave_nap_sysctl(void) | 126 | register_powersave_nap_sysctl(void) |
127 | { | 127 | { |
128 | register_sysctl_table(powersave_nap_sysctl_root, 0); | 128 | register_sysctl_table(powersave_nap_sysctl_root); |
129 | 129 | ||
130 | return 0; | 130 | return 0; |
131 | } | 131 | } |
diff --git a/arch/ppc/kernel/ppc_htab.c b/arch/ppc/kernel/ppc_htab.c index 77b20ff672b8..0a7e42d54eaf 100644 --- a/arch/ppc/kernel/ppc_htab.c +++ b/arch/ppc/kernel/ppc_htab.c | |||
@@ -457,7 +457,7 @@ static ctl_table htab_sysctl_root[] = { | |||
457 | static int __init | 457 | static int __init |
458 | register_ppc_htab_sysctl(void) | 458 | register_ppc_htab_sysctl(void) |
459 | { | 459 | { |
460 | register_sysctl_table(htab_sysctl_root, 0); | 460 | register_sysctl_table(htab_sysctl_root); |
461 | 461 | ||
462 | return 0; | 462 | return 0; |
463 | } | 463 | } |
diff --git a/arch/s390/appldata/appldata_base.c b/arch/s390/appldata/appldata_base.c index 58cefcf2d2cc..0c3cf4b16ae4 100644 --- a/arch/s390/appldata/appldata_base.c +++ b/arch/s390/appldata/appldata_base.c | |||
@@ -506,7 +506,7 @@ int appldata_register_ops(struct appldata_ops *ops) | |||
506 | 506 | ||
507 | ops->ctl_table[3].ctl_name = 0; | 507 | ops->ctl_table[3].ctl_name = 0; |
508 | 508 | ||
509 | ops->sysctl_header = register_sysctl_table(ops->ctl_table,0); | 509 | ops->sysctl_header = register_sysctl_table(ops->ctl_table); |
510 | 510 | ||
511 | P_INFO("%s-ops registered!\n", ops->name); | 511 | P_INFO("%s-ops registered!\n", ops->name); |
512 | return 0; | 512 | return 0; |
@@ -606,7 +606,7 @@ static int __init appldata_init(void) | |||
606 | /* Register cpu hotplug notifier */ | 606 | /* Register cpu hotplug notifier */ |
607 | register_hotcpu_notifier(&appldata_nb); | 607 | register_hotcpu_notifier(&appldata_nb); |
608 | 608 | ||
609 | appldata_sysctl_header = register_sysctl_table(appldata_dir_table, 0); | 609 | appldata_sysctl_header = register_sysctl_table(appldata_dir_table); |
610 | #ifdef MODULE | 610 | #ifdef MODULE |
611 | appldata_dir_table[0].de->owner = THIS_MODULE; | 611 | appldata_dir_table[0].de->owner = THIS_MODULE; |
612 | appldata_table[0].de->owner = THIS_MODULE; | 612 | appldata_table[0].de->owner = THIS_MODULE; |
diff --git a/arch/s390/kernel/debug.c b/arch/s390/kernel/debug.c index 1b95148dc73b..eca3fe595ff4 100644 --- a/arch/s390/kernel/debug.c +++ b/arch/s390/kernel/debug.c | |||
@@ -1053,7 +1053,7 @@ __init debug_init(void) | |||
1053 | { | 1053 | { |
1054 | int rc = 0; | 1054 | int rc = 0; |
1055 | 1055 | ||
1056 | s390dbf_sysctl_header = register_sysctl_table(s390dbf_dir_table, 0); | 1056 | s390dbf_sysctl_header = register_sysctl_table(s390dbf_dir_table); |
1057 | down(&debug_lock); | 1057 | down(&debug_lock); |
1058 | debug_debugfs_root_entry = debugfs_create_dir(DEBUG_DIR_ROOT,NULL); | 1058 | debug_debugfs_root_entry = debugfs_create_dir(DEBUG_DIR_ROOT,NULL); |
1059 | printk(KERN_INFO "debug: Initialization complete\n"); | 1059 | printk(KERN_INFO "debug: Initialization complete\n"); |
diff --git a/arch/s390/mm/cmm.c b/arch/s390/mm/cmm.c index c6d6ddeb5e33..c5b2f4f078bc 100644 --- a/arch/s390/mm/cmm.c +++ b/arch/s390/mm/cmm.c | |||
@@ -418,7 +418,7 @@ cmm_init (void) | |||
418 | int rc = -ENOMEM; | 418 | int rc = -ENOMEM; |
419 | 419 | ||
420 | #ifdef CONFIG_CMM_PROC | 420 | #ifdef CONFIG_CMM_PROC |
421 | cmm_sysctl_header = register_sysctl_table(cmm_dir_table, 0); | 421 | cmm_sysctl_header = register_sysctl_table(cmm_dir_table); |
422 | if (!cmm_sysctl_header) | 422 | if (!cmm_sysctl_header) |
423 | goto out; | 423 | goto out; |
424 | #endif | 424 | #endif |
diff --git a/arch/sh64/kernel/traps.c b/arch/sh64/kernel/traps.c index 02cca742cf03..c346d7ef9280 100644 --- a/arch/sh64/kernel/traps.c +++ b/arch/sh64/kernel/traps.c | |||
@@ -960,7 +960,7 @@ static ctl_table sh64_root[] = { | |||
960 | static struct ctl_table_header *sysctl_header; | 960 | static struct ctl_table_header *sysctl_header; |
961 | static int __init init_sysctl(void) | 961 | static int __init init_sysctl(void) |
962 | { | 962 | { |
963 | sysctl_header = register_sysctl_table(sh64_root, 0); | 963 | sysctl_header = register_sysctl_table(sh64_root); |
964 | return 0; | 964 | return 0; |
965 | } | 965 | } |
966 | 966 | ||
diff --git a/arch/x86_64/ia32/ia32_binfmt.c b/arch/x86_64/ia32/ia32_binfmt.c index 354a0a01ec2d..071100ea1251 100644 --- a/arch/x86_64/ia32/ia32_binfmt.c +++ b/arch/x86_64/ia32/ia32_binfmt.c | |||
@@ -367,7 +367,7 @@ static ctl_table abi_root_table2[] = { | |||
367 | 367 | ||
368 | static __init int ia32_binfmt_init(void) | 368 | static __init int ia32_binfmt_init(void) |
369 | { | 369 | { |
370 | register_sysctl_table(abi_root_table2, 0); | 370 | register_sysctl_table(abi_root_table2); |
371 | return 0; | 371 | return 0; |
372 | } | 372 | } |
373 | __initcall(ia32_binfmt_init); | 373 | __initcall(ia32_binfmt_init); |
diff --git a/arch/x86_64/kernel/vsyscall.c b/arch/x86_64/kernel/vsyscall.c index c0e2b48be308..313dc6ad780b 100644 --- a/arch/x86_64/kernel/vsyscall.c +++ b/arch/x86_64/kernel/vsyscall.c | |||
@@ -301,7 +301,7 @@ static int __init vsyscall_init(void) | |||
301 | BUG_ON((unsigned long) &vgetcpu != VSYSCALL_ADDR(__NR_vgetcpu)); | 301 | BUG_ON((unsigned long) &vgetcpu != VSYSCALL_ADDR(__NR_vgetcpu)); |
302 | map_vsyscall(); | 302 | map_vsyscall(); |
303 | #ifdef CONFIG_SYSCTL | 303 | #ifdef CONFIG_SYSCTL |
304 | register_sysctl_table(kernel_root_table2, 0); | 304 | register_sysctl_table(kernel_root_table2); |
305 | #endif | 305 | #endif |
306 | on_each_cpu(cpu_vsyscall_init, NULL, 0, 1); | 306 | on_each_cpu(cpu_vsyscall_init, NULL, 0, 1); |
307 | hotcpu_notifier(cpu_vsyscall_notifier, 0); | 307 | hotcpu_notifier(cpu_vsyscall_notifier, 0); |
diff --git a/arch/x86_64/mm/init.c b/arch/x86_64/mm/init.c index a5c12ea57683..ec31534eb104 100644 --- a/arch/x86_64/mm/init.c +++ b/arch/x86_64/mm/init.c | |||
@@ -734,7 +734,7 @@ static ctl_table debug_root_table2[] = { | |||
734 | 734 | ||
735 | static __init int x8664_sysctl_init(void) | 735 | static __init int x8664_sysctl_init(void) |
736 | { | 736 | { |
737 | register_sysctl_table(debug_root_table2, 0); | 737 | register_sysctl_table(debug_root_table2); |
738 | return 0; | 738 | return 0; |
739 | } | 739 | } |
740 | __initcall(x8664_sysctl_init); | 740 | __initcall(x8664_sysctl_init); |
diff --git a/drivers/cdrom/cdrom.c b/drivers/cdrom/cdrom.c index 14f72c477acc..b36f44d4d1bf 100644 --- a/drivers/cdrom/cdrom.c +++ b/drivers/cdrom/cdrom.c | |||
@@ -3553,7 +3553,7 @@ static void cdrom_sysctl_register(void) | |||
3553 | if (initialized == 1) | 3553 | if (initialized == 1) |
3554 | return; | 3554 | return; |
3555 | 3555 | ||
3556 | cdrom_sysctl_header = register_sysctl_table(cdrom_root_table, 0); | 3556 | cdrom_sysctl_header = register_sysctl_table(cdrom_root_table); |
3557 | 3557 | ||
3558 | /* set the defaults */ | 3558 | /* set the defaults */ |
3559 | cdrom_sysctl_settings.autoclose = autoclose; | 3559 | cdrom_sysctl_settings.autoclose = autoclose; |
diff --git a/drivers/char/hpet.c b/drivers/char/hpet.c index 81be1db18c4b..0be700f4e8fd 100644 --- a/drivers/char/hpet.c +++ b/drivers/char/hpet.c | |||
@@ -1018,7 +1018,7 @@ static int __init hpet_init(void) | |||
1018 | if (result < 0) | 1018 | if (result < 0) |
1019 | return -ENODEV; | 1019 | return -ENODEV; |
1020 | 1020 | ||
1021 | sysctl_header = register_sysctl_table(dev_root, 0); | 1021 | sysctl_header = register_sysctl_table(dev_root); |
1022 | 1022 | ||
1023 | result = acpi_bus_register_driver(&hpet_acpi_driver); | 1023 | result = acpi_bus_register_driver(&hpet_acpi_driver); |
1024 | if (result < 0) { | 1024 | if (result < 0) { |
diff --git a/drivers/char/ipmi/ipmi_poweroff.c b/drivers/char/ipmi/ipmi_poweroff.c index b3ae65e2ba0c..e02893b7b300 100644 --- a/drivers/char/ipmi/ipmi_poweroff.c +++ b/drivers/char/ipmi/ipmi_poweroff.c | |||
@@ -686,7 +686,7 @@ static int ipmi_poweroff_init (void) | |||
686 | printk(KERN_INFO PFX "Power cycle is enabled.\n"); | 686 | printk(KERN_INFO PFX "Power cycle is enabled.\n"); |
687 | 687 | ||
688 | #ifdef CONFIG_PROC_FS | 688 | #ifdef CONFIG_PROC_FS |
689 | ipmi_table_header = register_sysctl_table(ipmi_root_table, 0); | 689 | ipmi_table_header = register_sysctl_table(ipmi_root_table); |
690 | if (!ipmi_table_header) { | 690 | if (!ipmi_table_header) { |
691 | printk(KERN_ERR PFX "Unable to register powercycle sysctl\n"); | 691 | printk(KERN_ERR PFX "Unable to register powercycle sysctl\n"); |
692 | rv = -ENOMEM; | 692 | rv = -ENOMEM; |
diff --git a/drivers/char/rtc.c b/drivers/char/rtc.c index 9620abb2a6dc..c7dac9b13351 100644 --- a/drivers/char/rtc.c +++ b/drivers/char/rtc.c | |||
@@ -316,7 +316,7 @@ static struct ctl_table_header *sysctl_header; | |||
316 | 316 | ||
317 | static int __init init_sysctl(void) | 317 | static int __init init_sysctl(void) |
318 | { | 318 | { |
319 | sysctl_header = register_sysctl_table(dev_root, 0); | 319 | sysctl_header = register_sysctl_table(dev_root); |
320 | return 0; | 320 | return 0; |
321 | } | 321 | } |
322 | 322 | ||
diff --git a/drivers/macintosh/mac_hid.c b/drivers/macintosh/mac_hid.c index 038a9102a8be..c1fd816e9f09 100644 --- a/drivers/macintosh/mac_hid.c +++ b/drivers/macintosh/mac_hid.c | |||
@@ -138,7 +138,7 @@ int __init mac_hid_init(void) | |||
138 | return err; | 138 | return err; |
139 | 139 | ||
140 | #if defined(CONFIG_SYSCTL) | 140 | #if defined(CONFIG_SYSCTL) |
141 | mac_hid_sysctl_header = register_sysctl_table(mac_hid_root_dir, 0); | 141 | mac_hid_sysctl_header = register_sysctl_table(mac_hid_root_dir); |
142 | #endif /* CONFIG_SYSCTL */ | 142 | #endif /* CONFIG_SYSCTL */ |
143 | 143 | ||
144 | return 0; | 144 | return 0; |
diff --git a/drivers/md/md.c b/drivers/md/md.c index ee86df8092a1..05febfd9f071 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c | |||
@@ -5581,7 +5581,7 @@ static int __init md_init(void) | |||
5581 | md_probe, NULL, NULL); | 5581 | md_probe, NULL, NULL); |
5582 | 5582 | ||
5583 | register_reboot_notifier(&md_notifier); | 5583 | register_reboot_notifier(&md_notifier); |
5584 | raid_table_header = register_sysctl_table(raid_root_table, 0); | 5584 | raid_table_header = register_sysctl_table(raid_root_table); |
5585 | 5585 | ||
5586 | md_geninit(); | 5586 | md_geninit(); |
5587 | return (0); | 5587 | return (0); |
diff --git a/drivers/net/wireless/arlan-proc.c b/drivers/net/wireless/arlan-proc.c index 20499a6215cc..015abd928ab0 100644 --- a/drivers/net/wireless/arlan-proc.c +++ b/drivers/net/wireless/arlan-proc.c | |||
@@ -1244,7 +1244,7 @@ int __init init_arlan_proc(void) | |||
1244 | return 0; | 1244 | return 0; |
1245 | for (i = 0; i < MAX_ARLANS && arlan_device[i]; i++) | 1245 | for (i = 0; i < MAX_ARLANS && arlan_device[i]; i++) |
1246 | arlan_table[i].ctl_name = i + 1; | 1246 | arlan_table[i].ctl_name = i + 1; |
1247 | arlan_device_sysctl_header = register_sysctl_table(arlan_root_table, 0); | 1247 | arlan_device_sysctl_header = register_sysctl_table(arlan_root_table); |
1248 | if (!arlan_device_sysctl_header) | 1248 | if (!arlan_device_sysctl_header) |
1249 | return -1; | 1249 | return -1; |
1250 | 1250 | ||
diff --git a/drivers/parport/procfs.c b/drivers/parport/procfs.c index 9a7f1d49dec1..bdbdab9285ca 100644 --- a/drivers/parport/procfs.c +++ b/drivers/parport/procfs.c | |||
@@ -518,7 +518,7 @@ int parport_proc_register(struct parport *port) | |||
518 | t->parport_dir[0].child = t->port_dir; | 518 | t->parport_dir[0].child = t->port_dir; |
519 | t->dev_dir[0].child = t->parport_dir; | 519 | t->dev_dir[0].child = t->parport_dir; |
520 | 520 | ||
521 | t->sysctl_header = register_sysctl_table(t->dev_dir, 0); | 521 | t->sysctl_header = register_sysctl_table(t->dev_dir); |
522 | if (t->sysctl_header == NULL) { | 522 | if (t->sysctl_header == NULL) { |
523 | kfree(t); | 523 | kfree(t); |
524 | t = NULL; | 524 | t = NULL; |
@@ -574,7 +574,7 @@ int parport_device_proc_register(struct pardevice *device) | |||
574 | t->device_dir[0].child = t->vars; | 574 | t->device_dir[0].child = t->vars; |
575 | t->vars[0].data = &device->timeslice; | 575 | t->vars[0].data = &device->timeslice; |
576 | 576 | ||
577 | t->sysctl_header = register_sysctl_table(t->dev_dir, 0); | 577 | t->sysctl_header = register_sysctl_table(t->dev_dir); |
578 | if (t->sysctl_header == NULL) { | 578 | if (t->sysctl_header == NULL) { |
579 | kfree(t); | 579 | kfree(t); |
580 | t = NULL; | 580 | t = NULL; |
@@ -597,7 +597,7 @@ int parport_device_proc_unregister(struct pardevice *device) | |||
597 | static int __init parport_default_proc_register(void) | 597 | static int __init parport_default_proc_register(void) |
598 | { | 598 | { |
599 | parport_default_sysctl_table.sysctl_header = | 599 | parport_default_sysctl_table.sysctl_header = |
600 | register_sysctl_table(parport_default_sysctl_table.dev_dir, 0); | 600 | register_sysctl_table(parport_default_sysctl_table.dev_dir); |
601 | return 0; | 601 | return 0; |
602 | } | 602 | } |
603 | 603 | ||
diff --git a/drivers/scsi/scsi_sysctl.c b/drivers/scsi/scsi_sysctl.c index b16b775da7cc..6cfaaa2d0c81 100644 --- a/drivers/scsi/scsi_sysctl.c +++ b/drivers/scsi/scsi_sysctl.c | |||
@@ -41,7 +41,7 @@ static struct ctl_table_header *scsi_table_header; | |||
41 | 41 | ||
42 | int __init scsi_init_sysctl(void) | 42 | int __init scsi_init_sysctl(void) |
43 | { | 43 | { |
44 | scsi_table_header = register_sysctl_table(scsi_root_table, 0); | 44 | scsi_table_header = register_sysctl_table(scsi_root_table); |
45 | if (!scsi_table_header) | 45 | if (!scsi_table_header) |
46 | return -ENOMEM; | 46 | return -ENOMEM; |
47 | return 0; | 47 | return 0; |
diff --git a/fs/coda/sysctl.c b/fs/coda/sysctl.c index 8e50642f57e8..c57a1fa7cf23 100644 --- a/fs/coda/sysctl.c +++ b/fs/coda/sysctl.c | |||
@@ -271,7 +271,7 @@ void coda_sysctl_init(void) | |||
271 | 271 | ||
272 | #ifdef CONFIG_SYSCTL | 272 | #ifdef CONFIG_SYSCTL |
273 | if ( !fs_table_header ) | 273 | if ( !fs_table_header ) |
274 | fs_table_header = register_sysctl_table(fs_table, 0); | 274 | fs_table_header = register_sysctl_table(fs_table); |
275 | #endif | 275 | #endif |
276 | } | 276 | } |
277 | 277 | ||
diff --git a/fs/dquot.c b/fs/dquot.c index 9eb166f91489..b16f991662c1 100644 --- a/fs/dquot.c +++ b/fs/dquot.c | |||
@@ -1841,7 +1841,7 @@ static int __init dquot_init(void) | |||
1841 | 1841 | ||
1842 | printk(KERN_NOTICE "VFS: Disk quotas %s\n", __DQUOT_VERSION__); | 1842 | printk(KERN_NOTICE "VFS: Disk quotas %s\n", __DQUOT_VERSION__); |
1843 | 1843 | ||
1844 | register_sysctl_table(sys_table, 0); | 1844 | register_sysctl_table(sys_table); |
1845 | 1845 | ||
1846 | dquot_cachep = kmem_cache_create("dquot", | 1846 | dquot_cachep = kmem_cache_create("dquot", |
1847 | sizeof(struct dquot), sizeof(unsigned long) * 4, | 1847 | sizeof(struct dquot), sizeof(unsigned long) * 4, |
diff --git a/fs/lockd/svc.c b/fs/lockd/svc.c index 80fcacc1acf9..50cb8daba4e5 100644 --- a/fs/lockd/svc.c +++ b/fs/lockd/svc.c | |||
@@ -512,7 +512,7 @@ module_param(nsm_use_hostnames, bool, 0644); | |||
512 | 512 | ||
513 | static int __init init_nlm(void) | 513 | static int __init init_nlm(void) |
514 | { | 514 | { |
515 | nlm_sysctl_table = register_sysctl_table(nlm_sysctl_root, 0); | 515 | nlm_sysctl_table = register_sysctl_table(nlm_sysctl_root); |
516 | return nlm_sysctl_table ? 0 : -ENOMEM; | 516 | return nlm_sysctl_table ? 0 : -ENOMEM; |
517 | } | 517 | } |
518 | 518 | ||
diff --git a/fs/nfs/sysctl.c b/fs/nfs/sysctl.c index 3ea50ac64820..fcdcafbb3293 100644 --- a/fs/nfs/sysctl.c +++ b/fs/nfs/sysctl.c | |||
@@ -75,7 +75,7 @@ static ctl_table nfs_cb_sysctl_root[] = { | |||
75 | 75 | ||
76 | int nfs_register_sysctl(void) | 76 | int nfs_register_sysctl(void) |
77 | { | 77 | { |
78 | nfs_callback_sysctl_table = register_sysctl_table(nfs_cb_sysctl_root, 0); | 78 | nfs_callback_sysctl_table = register_sysctl_table(nfs_cb_sysctl_root); |
79 | if (nfs_callback_sysctl_table == NULL) | 79 | if (nfs_callback_sysctl_table == NULL) |
80 | return -ENOMEM; | 80 | return -ENOMEM; |
81 | return 0; | 81 | return 0; |
diff --git a/fs/ntfs/sysctl.c b/fs/ntfs/sysctl.c index 4757f6b7a28c..1f1ee4c9eacc 100644 --- a/fs/ntfs/sysctl.c +++ b/fs/ntfs/sysctl.c | |||
@@ -70,7 +70,7 @@ int ntfs_sysctl(int add) | |||
70 | { | 70 | { |
71 | if (add) { | 71 | if (add) { |
72 | BUG_ON(sysctls_root_table); | 72 | BUG_ON(sysctls_root_table); |
73 | sysctls_root_table = register_sysctl_table(sysctls_root, 0); | 73 | sysctls_root_table = register_sysctl_table(sysctls_root); |
74 | if (!sysctls_root_table) | 74 | if (!sysctls_root_table) |
75 | return -ENOMEM; | 75 | return -ENOMEM; |
76 | #ifdef CONFIG_PROC_FS | 76 | #ifdef CONFIG_PROC_FS |
diff --git a/fs/ocfs2/cluster/nodemanager.c b/fs/ocfs2/cluster/nodemanager.c index df763c7fd083..9f5ad0f01ce0 100644 --- a/fs/ocfs2/cluster/nodemanager.c +++ b/fs/ocfs2/cluster/nodemanager.c | |||
@@ -922,7 +922,7 @@ static int __init init_o2nm(void) | |||
922 | o2hb_init(); | 922 | o2hb_init(); |
923 | o2net_init(); | 923 | o2net_init(); |
924 | 924 | ||
925 | ocfs2_table_header = register_sysctl_table(ocfs2_root_table, 0); | 925 | ocfs2_table_header = register_sysctl_table(ocfs2_root_table); |
926 | if (!ocfs2_table_header) { | 926 | if (!ocfs2_table_header) { |
927 | printk(KERN_ERR "nodemanager: unable to register sysctl\n"); | 927 | printk(KERN_ERR "nodemanager: unable to register sysctl\n"); |
928 | ret = -ENOMEM; /* or something. */ | 928 | ret = -ENOMEM; /* or something. */ |
diff --git a/fs/xfs/linux-2.6/xfs_sysctl.c b/fs/xfs/linux-2.6/xfs_sysctl.c index 5c46c35a97a5..cd6eaa44aa2b 100644 --- a/fs/xfs/linux-2.6/xfs_sysctl.c +++ b/fs/xfs/linux-2.6/xfs_sysctl.c | |||
@@ -251,7 +251,7 @@ static ctl_table xfs_root_table[] = { | |||
251 | void | 251 | void |
252 | xfs_sysctl_register(void) | 252 | xfs_sysctl_register(void) |
253 | { | 253 | { |
254 | xfs_table_header = register_sysctl_table(xfs_root_table, 0); | 254 | xfs_table_header = register_sysctl_table(xfs_root_table); |
255 | } | 255 | } |
256 | 256 | ||
257 | void | 257 | void |
diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h index 51acdec88a61..396b8d984c5d 100644 --- a/include/linux/sysctl.h +++ b/include/linux/sysctl.h | |||
@@ -1035,8 +1035,8 @@ struct ctl_table_header | |||
1035 | struct completion *unregistering; | 1035 | struct completion *unregistering; |
1036 | }; | 1036 | }; |
1037 | 1037 | ||
1038 | struct ctl_table_header * register_sysctl_table(ctl_table * table, | 1038 | struct ctl_table_header * register_sysctl_table(ctl_table * table); |
1039 | int insert_at_head); | 1039 | |
1040 | void unregister_sysctl_table(struct ctl_table_header * table); | 1040 | void unregister_sysctl_table(struct ctl_table_header * table); |
1041 | 1041 | ||
1042 | #else /* __KERNEL__ */ | 1042 | #else /* __KERNEL__ */ |
diff --git a/ipc/ipc_sysctl.c b/ipc/ipc_sysctl.c index 2c17d83b9093..a88934a1b769 100644 --- a/ipc/ipc_sysctl.c +++ b/ipc/ipc_sysctl.c | |||
@@ -176,7 +176,7 @@ static struct ctl_table ipc_root_table[] = { | |||
176 | 176 | ||
177 | static int __init ipc_sysctl_init(void) | 177 | static int __init ipc_sysctl_init(void) |
178 | { | 178 | { |
179 | register_sysctl_table(ipc_root_table, 0); | 179 | register_sysctl_table(ipc_root_table); |
180 | return 0; | 180 | return 0; |
181 | } | 181 | } |
182 | 182 | ||
diff --git a/ipc/mqueue.c b/ipc/mqueue.c index 7a8ce610fda2..0b5ecbe5f045 100644 --- a/ipc/mqueue.c +++ b/ipc/mqueue.c | |||
@@ -1255,7 +1255,7 @@ static int __init init_mqueue_fs(void) | |||
1255 | return -ENOMEM; | 1255 | return -ENOMEM; |
1256 | 1256 | ||
1257 | /* ignore failues - they are not fatal */ | 1257 | /* ignore failues - they are not fatal */ |
1258 | mq_sysctl_table = register_sysctl_table(mq_sysctl_root, 0); | 1258 | mq_sysctl_table = register_sysctl_table(mq_sysctl_root); |
1259 | 1259 | ||
1260 | error = register_filesystem(&mqueue_fs_type); | 1260 | error = register_filesystem(&mqueue_fs_type); |
1261 | if (error) | 1261 | if (error) |
diff --git a/kernel/sysctl.c b/kernel/sysctl.c index cb46d0156840..6ccb6cc19e28 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c | |||
@@ -1244,7 +1244,6 @@ int do_sysctl_strategy (ctl_table *table, | |||
1244 | /** | 1244 | /** |
1245 | * register_sysctl_table - register a sysctl hierarchy | 1245 | * register_sysctl_table - register a sysctl hierarchy |
1246 | * @table: the top-level table structure | 1246 | * @table: the top-level table structure |
1247 | * @insert_at_head: whether the entry should be inserted in front or at the end | ||
1248 | * | 1247 | * |
1249 | * Register a sysctl table hierarchy. @table should be a filled in ctl_table | 1248 | * Register a sysctl table hierarchy. @table should be a filled in ctl_table |
1250 | * array. An entry with a ctl_name of 0 terminates the table. | 1249 | * array. An entry with a ctl_name of 0 terminates the table. |
@@ -1310,8 +1309,7 @@ int do_sysctl_strategy (ctl_table *table, | |||
1310 | * This routine returns %NULL on a failure to register, and a pointer | 1309 | * This routine returns %NULL on a failure to register, and a pointer |
1311 | * to the table header on success. | 1310 | * to the table header on success. |
1312 | */ | 1311 | */ |
1313 | struct ctl_table_header *register_sysctl_table(ctl_table * table, | 1312 | struct ctl_table_header *register_sysctl_table(ctl_table * table) |
1314 | int insert_at_head) | ||
1315 | { | 1313 | { |
1316 | struct ctl_table_header *tmp; | 1314 | struct ctl_table_header *tmp; |
1317 | tmp = kmalloc(sizeof(struct ctl_table_header), GFP_KERNEL); | 1315 | tmp = kmalloc(sizeof(struct ctl_table_header), GFP_KERNEL); |
@@ -1322,10 +1320,7 @@ struct ctl_table_header *register_sysctl_table(ctl_table * table, | |||
1322 | tmp->used = 0; | 1320 | tmp->used = 0; |
1323 | tmp->unregistering = NULL; | 1321 | tmp->unregistering = NULL; |
1324 | spin_lock(&sysctl_lock); | 1322 | spin_lock(&sysctl_lock); |
1325 | if (insert_at_head) | 1323 | list_add_tail(&tmp->ctl_entry, &root_table_header.ctl_entry); |
1326 | list_add(&tmp->ctl_entry, &root_table_header.ctl_entry); | ||
1327 | else | ||
1328 | list_add_tail(&tmp->ctl_entry, &root_table_header.ctl_entry); | ||
1329 | spin_unlock(&sysctl_lock); | 1324 | spin_unlock(&sysctl_lock); |
1330 | #ifdef CONFIG_PROC_SYSCTL | 1325 | #ifdef CONFIG_PROC_SYSCTL |
1331 | register_proc_table(table, proc_sys_root, tmp); | 1326 | register_proc_table(table, proc_sys_root, tmp); |
diff --git a/kernel/utsname_sysctl.c b/kernel/utsname_sysctl.c index 324aa1341b5f..f22b9dbd2a9c 100644 --- a/kernel/utsname_sysctl.c +++ b/kernel/utsname_sysctl.c | |||
@@ -139,7 +139,7 @@ static struct ctl_table uts_root_table[] = { | |||
139 | 139 | ||
140 | static int __init utsname_sysctl_init(void) | 140 | static int __init utsname_sysctl_init(void) |
141 | { | 141 | { |
142 | register_sysctl_table(uts_root_table, 0); | 142 | register_sysctl_table(uts_root_table); |
143 | return 0; | 143 | return 0; |
144 | } | 144 | } |
145 | 145 | ||
diff --git a/net/appletalk/sysctl_net_atalk.c b/net/appletalk/sysctl_net_atalk.c index 4f806b6dd227..7df1778e221a 100644 --- a/net/appletalk/sysctl_net_atalk.c +++ b/net/appletalk/sysctl_net_atalk.c | |||
@@ -73,7 +73,7 @@ static struct ctl_table_header *atalk_table_header; | |||
73 | 73 | ||
74 | void atalk_register_sysctl(void) | 74 | void atalk_register_sysctl(void) |
75 | { | 75 | { |
76 | atalk_table_header = register_sysctl_table(atalk_root_table, 0); | 76 | atalk_table_header = register_sysctl_table(atalk_root_table); |
77 | } | 77 | } |
78 | 78 | ||
79 | void atalk_unregister_sysctl(void) | 79 | void atalk_unregister_sysctl(void) |
diff --git a/net/ax25/sysctl_net_ax25.c b/net/ax25/sysctl_net_ax25.c index afdba0466f14..443a83676638 100644 --- a/net/ax25/sysctl_net_ax25.c +++ b/net/ax25/sysctl_net_ax25.c | |||
@@ -245,7 +245,7 @@ void ax25_register_sysctl(void) | |||
245 | 245 | ||
246 | ax25_dir_table[0].child = ax25_table; | 246 | ax25_dir_table[0].child = ax25_table; |
247 | 247 | ||
248 | ax25_table_header = register_sysctl_table(ax25_root_table, 0); | 248 | ax25_table_header = register_sysctl_table(ax25_root_table); |
249 | } | 249 | } |
250 | 250 | ||
251 | void ax25_unregister_sysctl(void) | 251 | void ax25_unregister_sysctl(void) |
diff --git a/net/bridge/br_netfilter.c b/net/bridge/br_netfilter.c index a0744e653f09..7712d76f06ba 100644 --- a/net/bridge/br_netfilter.c +++ b/net/bridge/br_netfilter.c | |||
@@ -957,7 +957,7 @@ int __init br_netfilter_init(void) | |||
957 | if (ret < 0) | 957 | if (ret < 0) |
958 | return ret; | 958 | return ret; |
959 | #ifdef CONFIG_SYSCTL | 959 | #ifdef CONFIG_SYSCTL |
960 | brnf_sysctl_header = register_sysctl_table(brnf_net_table, 0); | 960 | brnf_sysctl_header = register_sysctl_table(brnf_net_table); |
961 | if (brnf_sysctl_header == NULL) { | 961 | if (brnf_sysctl_header == NULL) { |
962 | printk(KERN_WARNING | 962 | printk(KERN_WARNING |
963 | "br_netfilter: can't register to sysctl.\n"); | 963 | "br_netfilter: can't register to sysctl.\n"); |
diff --git a/net/core/neighbour.c b/net/core/neighbour.c index a1525fb7a81e..3183142c6044 100644 --- a/net/core/neighbour.c +++ b/net/core/neighbour.c | |||
@@ -2707,7 +2707,7 @@ int neigh_sysctl_register(struct net_device *dev, struct neigh_parms *p, | |||
2707 | t->neigh_proto_dir[0].child = t->neigh_neigh_dir; | 2707 | t->neigh_proto_dir[0].child = t->neigh_neigh_dir; |
2708 | t->neigh_root_dir[0].child = t->neigh_proto_dir; | 2708 | t->neigh_root_dir[0].child = t->neigh_proto_dir; |
2709 | 2709 | ||
2710 | t->sysctl_header = register_sysctl_table(t->neigh_root_dir, 0); | 2710 | t->sysctl_header = register_sysctl_table(t->neigh_root_dir); |
2711 | if (!t->sysctl_header) { | 2711 | if (!t->sysctl_header) { |
2712 | err = -ENOBUFS; | 2712 | err = -ENOBUFS; |
2713 | goto free_procname; | 2713 | goto free_procname; |
diff --git a/net/dccp/sysctl.c b/net/dccp/sysctl.c index 33916318ed6d..1260aabac5e1 100644 --- a/net/dccp/sysctl.c +++ b/net/dccp/sysctl.c | |||
@@ -127,7 +127,7 @@ static struct ctl_table_header *dccp_table_header; | |||
127 | 127 | ||
128 | int __init dccp_sysctl_init(void) | 128 | int __init dccp_sysctl_init(void) |
129 | { | 129 | { |
130 | dccp_table_header = register_sysctl_table(dccp_root_table, 0); | 130 | dccp_table_header = register_sysctl_table(dccp_root_table); |
131 | 131 | ||
132 | return dccp_table_header != NULL ? 0 : -ENOMEM; | 132 | return dccp_table_header != NULL ? 0 : -ENOMEM; |
133 | } | 133 | } |
diff --git a/net/decnet/dn_dev.c b/net/decnet/dn_dev.c index 2b2c7fe45a71..0977df42c205 100644 --- a/net/decnet/dn_dev.c +++ b/net/decnet/dn_dev.c | |||
@@ -282,7 +282,7 @@ static void dn_dev_sysctl_register(struct net_device *dev, struct dn_dev_parms * | |||
282 | t->dn_dev_root_dir[0].de = NULL; | 282 | t->dn_dev_root_dir[0].de = NULL; |
283 | t->dn_dev_vars[0].extra1 = (void *)dev; | 283 | t->dn_dev_vars[0].extra1 = (void *)dev; |
284 | 284 | ||
285 | t->sysctl_header = register_sysctl_table(t->dn_dev_root_dir, 0); | 285 | t->sysctl_header = register_sysctl_table(t->dn_dev_root_dir); |
286 | if (t->sysctl_header == NULL) | 286 | if (t->sysctl_header == NULL) |
287 | kfree(t); | 287 | kfree(t); |
288 | else | 288 | else |
diff --git a/net/decnet/sysctl_net_decnet.c b/net/decnet/sysctl_net_decnet.c index 70a8cf2775df..52e40d7eb22d 100644 --- a/net/decnet/sysctl_net_decnet.c +++ b/net/decnet/sysctl_net_decnet.c | |||
@@ -491,7 +491,7 @@ static ctl_table dn_root_table[] = { | |||
491 | 491 | ||
492 | void dn_register_sysctl(void) | 492 | void dn_register_sysctl(void) |
493 | { | 493 | { |
494 | dn_table_header = register_sysctl_table(dn_root_table, 0); | 494 | dn_table_header = register_sysctl_table(dn_root_table); |
495 | } | 495 | } |
496 | 496 | ||
497 | void dn_unregister_sysctl(void) | 497 | void dn_unregister_sysctl(void) |
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) { |
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) |
diff --git a/net/ipx/sysctl_net_ipx.c b/net/ipx/sysctl_net_ipx.c index 0397b0985b79..0cf526450536 100644 --- a/net/ipx/sysctl_net_ipx.c +++ b/net/ipx/sysctl_net_ipx.c | |||
@@ -52,7 +52,7 @@ static struct ctl_table_header *ipx_table_header; | |||
52 | 52 | ||
53 | void ipx_register_sysctl(void) | 53 | void ipx_register_sysctl(void) |
54 | { | 54 | { |
55 | ipx_table_header = register_sysctl_table(ipx_root_table, 0); | 55 | ipx_table_header = register_sysctl_table(ipx_root_table); |
56 | } | 56 | } |
57 | 57 | ||
58 | void ipx_unregister_sysctl(void) | 58 | void ipx_unregister_sysctl(void) |
diff --git a/net/irda/irsysctl.c b/net/irda/irsysctl.c index bb53ba0be585..2e968e7d8fea 100644 --- a/net/irda/irsysctl.c +++ b/net/irda/irsysctl.c | |||
@@ -274,7 +274,7 @@ static struct ctl_table_header *irda_table_header; | |||
274 | */ | 274 | */ |
275 | int __init irda_sysctl_register(void) | 275 | int __init irda_sysctl_register(void) |
276 | { | 276 | { |
277 | irda_table_header = register_sysctl_table(irda_root_table, 0); | 277 | irda_table_header = register_sysctl_table(irda_root_table); |
278 | if (!irda_table_header) | 278 | if (!irda_table_header) |
279 | return -ENOMEM; | 279 | return -ENOMEM; |
280 | 280 | ||
diff --git a/net/llc/sysctl_net_llc.c b/net/llc/sysctl_net_llc.c index bcec7e1eda95..46992d036017 100644 --- a/net/llc/sysctl_net_llc.c +++ b/net/llc/sysctl_net_llc.c | |||
@@ -116,7 +116,7 @@ static struct ctl_table_header *llc_table_header; | |||
116 | 116 | ||
117 | int __init llc_sysctl_init(void) | 117 | int __init llc_sysctl_init(void) |
118 | { | 118 | { |
119 | llc_table_header = register_sysctl_table(llc_root_table, 0); | 119 | llc_table_header = register_sysctl_table(llc_root_table); |
120 | 120 | ||
121 | return llc_table_header ? 0 : -ENOMEM; | 121 | return llc_table_header ? 0 : -ENOMEM; |
122 | } | 122 | } |
diff --git a/net/netfilter/nf_conntrack_standalone.c b/net/netfilter/nf_conntrack_standalone.c index a0bba481d70d..b8586360e519 100644 --- a/net/netfilter/nf_conntrack_standalone.c +++ b/net/netfilter/nf_conntrack_standalone.c | |||
@@ -445,7 +445,7 @@ static int __init nf_conntrack_standalone_init(void) | |||
445 | proc_stat->owner = THIS_MODULE; | 445 | proc_stat->owner = THIS_MODULE; |
446 | #endif | 446 | #endif |
447 | #ifdef CONFIG_SYSCTL | 447 | #ifdef CONFIG_SYSCTL |
448 | nf_ct_sysctl_header = register_sysctl_table(nf_ct_net_table, 0); | 448 | nf_ct_sysctl_header = register_sysctl_table(nf_ct_net_table); |
449 | if (nf_ct_sysctl_header == NULL) { | 449 | if (nf_ct_sysctl_header == NULL) { |
450 | printk("nf_conntrack: can't register to sysctl.\n"); | 450 | printk("nf_conntrack: can't register to sysctl.\n"); |
451 | ret = -ENOMEM; | 451 | ret = -ENOMEM; |
diff --git a/net/netfilter/nf_sysctl.c b/net/netfilter/nf_sysctl.c index 06ddddb2911f..ee34589e48a4 100644 --- a/net/netfilter/nf_sysctl.c +++ b/net/netfilter/nf_sysctl.c | |||
@@ -56,7 +56,7 @@ nf_register_sysctl_table(struct ctl_table *path, struct ctl_table *table) | |||
56 | path = path_dup(path, table); | 56 | path = path_dup(path, table); |
57 | if (path == NULL) | 57 | if (path == NULL) |
58 | return NULL; | 58 | return NULL; |
59 | header = register_sysctl_table(path, 0); | 59 | header = register_sysctl_table(path); |
60 | if (header == NULL) | 60 | if (header == NULL) |
61 | path_free(path, table); | 61 | path_free(path, table); |
62 | return header; | 62 | return header; |
diff --git a/net/netrom/sysctl_net_netrom.c b/net/netrom/sysctl_net_netrom.c index 6ca96a56663c..2ea68da01fb8 100644 --- a/net/netrom/sysctl_net_netrom.c +++ b/net/netrom/sysctl_net_netrom.c | |||
@@ -192,7 +192,7 @@ static ctl_table nr_root_table[] = { | |||
192 | 192 | ||
193 | void __init nr_register_sysctl(void) | 193 | void __init nr_register_sysctl(void) |
194 | { | 194 | { |
195 | nr_table_header = register_sysctl_table(nr_root_table, 0); | 195 | nr_table_header = register_sysctl_table(nr_root_table); |
196 | } | 196 | } |
197 | 197 | ||
198 | void nr_unregister_sysctl(void) | 198 | void nr_unregister_sysctl(void) |
diff --git a/net/rose/sysctl_net_rose.c b/net/rose/sysctl_net_rose.c index b9210461a8b4..455b0555a669 100644 --- a/net/rose/sysctl_net_rose.c +++ b/net/rose/sysctl_net_rose.c | |||
@@ -160,7 +160,7 @@ static ctl_table rose_root_table[] = { | |||
160 | 160 | ||
161 | void __init rose_register_sysctl(void) | 161 | void __init rose_register_sysctl(void) |
162 | { | 162 | { |
163 | rose_table_header = register_sysctl_table(rose_root_table, 0); | 163 | rose_table_header = register_sysctl_table(rose_root_table); |
164 | } | 164 | } |
165 | 165 | ||
166 | void rose_unregister_sysctl(void) | 166 | void rose_unregister_sysctl(void) |
diff --git a/net/rxrpc/sysctl.c b/net/rxrpc/sysctl.c index 0755ae028e43..884290754af7 100644 --- a/net/rxrpc/sysctl.c +++ b/net/rxrpc/sysctl.c | |||
@@ -97,7 +97,7 @@ static ctl_table rxrpc_dir_sysctl_table[] = { | |||
97 | int rxrpc_sysctl_init(void) | 97 | int rxrpc_sysctl_init(void) |
98 | { | 98 | { |
99 | #ifdef CONFIG_SYSCTL | 99 | #ifdef CONFIG_SYSCTL |
100 | rxrpc_sysctl = register_sysctl_table(rxrpc_dir_sysctl_table, 0); | 100 | rxrpc_sysctl = register_sysctl_table(rxrpc_dir_sysctl_table); |
101 | if (!rxrpc_sysctl) | 101 | if (!rxrpc_sysctl) |
102 | return -ENOMEM; | 102 | return -ENOMEM; |
103 | #endif /* CONFIG_SYSCTL */ | 103 | #endif /* CONFIG_SYSCTL */ |
diff --git a/net/sctp/sysctl.c b/net/sctp/sysctl.c index 633cd178654b..e2c679baf912 100644 --- a/net/sctp/sysctl.c +++ b/net/sctp/sysctl.c | |||
@@ -254,7 +254,7 @@ static struct ctl_table_header * sctp_sysctl_header; | |||
254 | /* Sysctl registration. */ | 254 | /* Sysctl registration. */ |
255 | void sctp_sysctl_register(void) | 255 | void sctp_sysctl_register(void) |
256 | { | 256 | { |
257 | sctp_sysctl_header = register_sysctl_table(sctp_root_table, 0); | 257 | sctp_sysctl_header = register_sysctl_table(sctp_root_table); |
258 | } | 258 | } |
259 | 259 | ||
260 | /* Sysctl deregistration. */ | 260 | /* Sysctl deregistration. */ |
diff --git a/net/sunrpc/sysctl.c b/net/sunrpc/sysctl.c index 1169798bf271..738db32a287d 100644 --- a/net/sunrpc/sysctl.c +++ b/net/sunrpc/sysctl.c | |||
@@ -36,7 +36,7 @@ void | |||
36 | rpc_register_sysctl(void) | 36 | rpc_register_sysctl(void) |
37 | { | 37 | { |
38 | if (!sunrpc_table_header) | 38 | if (!sunrpc_table_header) |
39 | sunrpc_table_header = register_sysctl_table(sunrpc_table, 0); | 39 | sunrpc_table_header = register_sysctl_table(sunrpc_table); |
40 | } | 40 | } |
41 | 41 | ||
42 | void | 42 | void |
diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c index 5a9f6d840e82..a5a32029e728 100644 --- a/net/sunrpc/xprtsock.c +++ b/net/sunrpc/xprtsock.c | |||
@@ -1636,7 +1636,7 @@ int init_socket_xprt(void) | |||
1636 | { | 1636 | { |
1637 | #ifdef RPC_DEBUG | 1637 | #ifdef RPC_DEBUG |
1638 | if (!sunrpc_table_header) | 1638 | if (!sunrpc_table_header) |
1639 | sunrpc_table_header = register_sysctl_table(sunrpc_table, 0); | 1639 | sunrpc_table_header = register_sysctl_table(sunrpc_table); |
1640 | #endif | 1640 | #endif |
1641 | 1641 | ||
1642 | return 0; | 1642 | return 0; |
diff --git a/net/unix/sysctl_net_unix.c b/net/unix/sysctl_net_unix.c index 690ffa5d5bfb..eb0bd57ebada 100644 --- a/net/unix/sysctl_net_unix.c +++ b/net/unix/sysctl_net_unix.c | |||
@@ -50,7 +50,7 @@ static struct ctl_table_header * unix_sysctl_header; | |||
50 | 50 | ||
51 | void unix_sysctl_register(void) | 51 | void unix_sysctl_register(void) |
52 | { | 52 | { |
53 | unix_sysctl_header = register_sysctl_table(unix_root_table, 0); | 53 | unix_sysctl_header = register_sysctl_table(unix_root_table); |
54 | } | 54 | } |
55 | 55 | ||
56 | void unix_sysctl_unregister(void) | 56 | void unix_sysctl_unregister(void) |
diff --git a/net/x25/sysctl_net_x25.c b/net/x25/sysctl_net_x25.c index 68300d4c19cc..a59b77f18234 100644 --- a/net/x25/sysctl_net_x25.c +++ b/net/x25/sysctl_net_x25.c | |||
@@ -106,7 +106,7 @@ static struct ctl_table x25_root_table[] = { | |||
106 | 106 | ||
107 | void __init x25_register_sysctl(void) | 107 | void __init x25_register_sysctl(void) |
108 | { | 108 | { |
109 | x25_table_header = register_sysctl_table(x25_root_table, 0); | 109 | x25_table_header = register_sysctl_table(x25_root_table); |
110 | } | 110 | } |
111 | 111 | ||
112 | void x25_unregister_sysctl(void) | 112 | void x25_unregister_sysctl(void) |