[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>
This commit is contained in:
Eric W. Biederman 2007-02-14 00:34:09 -08:00 committed by Linus Torvalds
parent ae83681026
commit 0b4d414714
68 changed files with 75 additions and 80 deletions

View file

@ -70,5 +70,5 @@ register_isa_ports(unsigned int membase, unsigned int portbase, unsigned int por
isa_membase = membase; isa_membase = membase;
isa_portbase = portbase; isa_portbase = portbase;
isa_portshift = portshift; isa_portshift = portshift;
isa_sysctl_header = register_sysctl_table(ctl_bus, 0); isa_sysctl_header = register_sysctl_table(ctl_bus);
} }

View file

@ -455,7 +455,7 @@ static struct ctl_table pm_dir_table[] =
*/ */
static int __init pm_init(void) static int __init pm_init(void)
{ {
register_sysctl_table(pm_dir_table, 0); register_sysctl_table(pm_dir_table);
return 0; return 0;
} }

View file

@ -216,7 +216,7 @@ static struct ctl_table frv_dir_table[] =
*/ */
static int __init frv_sysctl_init(void) static int __init frv_sysctl_init(void)
{ {
register_sysctl_table(frv_dir_table, 0); register_sysctl_table(frv_dir_table);
return 0; return 0;
} }

View file

@ -222,7 +222,7 @@ machine_crash_setup(void)
if((ret = register_die_notifier(&kdump_init_notifier_nb)) != 0) if((ret = register_die_notifier(&kdump_init_notifier_nb)) != 0)
return ret; return ret;
#ifdef CONFIG_SYSCTL #ifdef CONFIG_SYSCTL
register_sysctl_table(sys_table, 0); register_sysctl_table(sys_table);
#endif #endif
return 0; return 0;
} }

View file

@ -6726,7 +6726,7 @@ pfm_init(void)
/* /*
* create /proc/sys/kernel/perfmon (for debugging purposes) * create /proc/sys/kernel/perfmon (for debugging purposes)
*/ */
pfm_sysctl_header = register_sysctl_table(pfm_sysctl_root, 0); pfm_sysctl_header = register_sysctl_table(pfm_sysctl_root);
/* /*
* initialize all our spinlocks * initialize all our spinlocks

View file

@ -1241,7 +1241,7 @@ xpc_init(void)
snprintf(xpc_part->bus_id, BUS_ID_SIZE, "part"); snprintf(xpc_part->bus_id, BUS_ID_SIZE, "part");
snprintf(xpc_chan->bus_id, BUS_ID_SIZE, "chan"); snprintf(xpc_chan->bus_id, BUS_ID_SIZE, "chan");
xpc_sysctl = register_sysctl_table(xpc_sys_dir, 0); xpc_sysctl = register_sysctl_table(xpc_sys_dir);
/* /*
* The first few fields of each entry of xpc_partitions[] need to * The first few fields of each entry of xpc_partitions[] need to

View file

@ -461,7 +461,7 @@ static struct ctl_table pm_dir_table[] = {
*/ */
static int __init pm_init(void) static int __init pm_init(void)
{ {
register_sysctl_table(pm_dir_table, 0); register_sysctl_table(pm_dir_table);
return 0; return 0;
} }

View file

@ -432,7 +432,7 @@ static int __init lasat_register_sysctl(void)
struct ctl_table_header *lasat_table_header; struct ctl_table_header *lasat_table_header;
lasat_table_header = lasat_table_header =
register_sysctl_table(lasat_root_table, 0); register_sysctl_table(lasat_root_table);
return 0; return 0;
} }

View file

@ -125,7 +125,7 @@ static ctl_table powersave_nap_sysctl_root[] = {
static int __init static int __init
register_powersave_nap_sysctl(void) register_powersave_nap_sysctl(void)
{ {
register_sysctl_table(powersave_nap_sysctl_root, 0); register_sysctl_table(powersave_nap_sysctl_root);
return 0; return 0;
} }

View file

@ -457,7 +457,7 @@ static ctl_table htab_sysctl_root[] = {
static int __init static int __init
register_ppc_htab_sysctl(void) register_ppc_htab_sysctl(void)
{ {
register_sysctl_table(htab_sysctl_root, 0); register_sysctl_table(htab_sysctl_root);
return 0; return 0;
} }

View file

@ -506,7 +506,7 @@ int appldata_register_ops(struct appldata_ops *ops)
ops->ctl_table[3].ctl_name = 0; ops->ctl_table[3].ctl_name = 0;
ops->sysctl_header = register_sysctl_table(ops->ctl_table,0); ops->sysctl_header = register_sysctl_table(ops->ctl_table);
P_INFO("%s-ops registered!\n", ops->name); P_INFO("%s-ops registered!\n", ops->name);
return 0; return 0;
@ -606,7 +606,7 @@ static int __init appldata_init(void)
/* Register cpu hotplug notifier */ /* Register cpu hotplug notifier */
register_hotcpu_notifier(&appldata_nb); register_hotcpu_notifier(&appldata_nb);
appldata_sysctl_header = register_sysctl_table(appldata_dir_table, 0); appldata_sysctl_header = register_sysctl_table(appldata_dir_table);
#ifdef MODULE #ifdef MODULE
appldata_dir_table[0].de->owner = THIS_MODULE; appldata_dir_table[0].de->owner = THIS_MODULE;
appldata_table[0].de->owner = THIS_MODULE; appldata_table[0].de->owner = THIS_MODULE;

View file

@ -1053,7 +1053,7 @@ __init debug_init(void)
{ {
int rc = 0; int rc = 0;
s390dbf_sysctl_header = register_sysctl_table(s390dbf_dir_table, 0); s390dbf_sysctl_header = register_sysctl_table(s390dbf_dir_table);
down(&debug_lock); down(&debug_lock);
debug_debugfs_root_entry = debugfs_create_dir(DEBUG_DIR_ROOT,NULL); debug_debugfs_root_entry = debugfs_create_dir(DEBUG_DIR_ROOT,NULL);
printk(KERN_INFO "debug: Initialization complete\n"); printk(KERN_INFO "debug: Initialization complete\n");

View file

@ -418,7 +418,7 @@ cmm_init (void)
int rc = -ENOMEM; int rc = -ENOMEM;
#ifdef CONFIG_CMM_PROC #ifdef CONFIG_CMM_PROC
cmm_sysctl_header = register_sysctl_table(cmm_dir_table, 0); cmm_sysctl_header = register_sysctl_table(cmm_dir_table);
if (!cmm_sysctl_header) if (!cmm_sysctl_header)
goto out; goto out;
#endif #endif

View file

@ -960,7 +960,7 @@ static ctl_table sh64_root[] = {
static struct ctl_table_header *sysctl_header; static struct ctl_table_header *sysctl_header;
static int __init init_sysctl(void) static int __init init_sysctl(void)
{ {
sysctl_header = register_sysctl_table(sh64_root, 0); sysctl_header = register_sysctl_table(sh64_root);
return 0; return 0;
} }

View file

@ -367,7 +367,7 @@ static ctl_table abi_root_table2[] = {
static __init int ia32_binfmt_init(void) static __init int ia32_binfmt_init(void)
{ {
register_sysctl_table(abi_root_table2, 0); register_sysctl_table(abi_root_table2);
return 0; return 0;
} }
__initcall(ia32_binfmt_init); __initcall(ia32_binfmt_init);

View file

@ -301,7 +301,7 @@ static int __init vsyscall_init(void)
BUG_ON((unsigned long) &vgetcpu != VSYSCALL_ADDR(__NR_vgetcpu)); BUG_ON((unsigned long) &vgetcpu != VSYSCALL_ADDR(__NR_vgetcpu));
map_vsyscall(); map_vsyscall();
#ifdef CONFIG_SYSCTL #ifdef CONFIG_SYSCTL
register_sysctl_table(kernel_root_table2, 0); register_sysctl_table(kernel_root_table2);
#endif #endif
on_each_cpu(cpu_vsyscall_init, NULL, 0, 1); on_each_cpu(cpu_vsyscall_init, NULL, 0, 1);
hotcpu_notifier(cpu_vsyscall_notifier, 0); hotcpu_notifier(cpu_vsyscall_notifier, 0);

View file

@ -734,7 +734,7 @@ static ctl_table debug_root_table2[] = {
static __init int x8664_sysctl_init(void) static __init int x8664_sysctl_init(void)
{ {
register_sysctl_table(debug_root_table2, 0); register_sysctl_table(debug_root_table2);
return 0; return 0;
} }
__initcall(x8664_sysctl_init); __initcall(x8664_sysctl_init);

View file

@ -3553,7 +3553,7 @@ static void cdrom_sysctl_register(void)
if (initialized == 1) if (initialized == 1)
return; return;
cdrom_sysctl_header = register_sysctl_table(cdrom_root_table, 0); cdrom_sysctl_header = register_sysctl_table(cdrom_root_table);
/* set the defaults */ /* set the defaults */
cdrom_sysctl_settings.autoclose = autoclose; cdrom_sysctl_settings.autoclose = autoclose;

View file

@ -1018,7 +1018,7 @@ static int __init hpet_init(void)
if (result < 0) if (result < 0)
return -ENODEV; return -ENODEV;
sysctl_header = register_sysctl_table(dev_root, 0); sysctl_header = register_sysctl_table(dev_root);
result = acpi_bus_register_driver(&hpet_acpi_driver); result = acpi_bus_register_driver(&hpet_acpi_driver);
if (result < 0) { if (result < 0) {

View file

@ -686,7 +686,7 @@ static int ipmi_poweroff_init (void)
printk(KERN_INFO PFX "Power cycle is enabled.\n"); printk(KERN_INFO PFX "Power cycle is enabled.\n");
#ifdef CONFIG_PROC_FS #ifdef CONFIG_PROC_FS
ipmi_table_header = register_sysctl_table(ipmi_root_table, 0); ipmi_table_header = register_sysctl_table(ipmi_root_table);
if (!ipmi_table_header) { if (!ipmi_table_header) {
printk(KERN_ERR PFX "Unable to register powercycle sysctl\n"); printk(KERN_ERR PFX "Unable to register powercycle sysctl\n");
rv = -ENOMEM; rv = -ENOMEM;

View file

@ -316,7 +316,7 @@ static struct ctl_table_header *sysctl_header;
static int __init init_sysctl(void) static int __init init_sysctl(void)
{ {
sysctl_header = register_sysctl_table(dev_root, 0); sysctl_header = register_sysctl_table(dev_root);
return 0; return 0;
} }

View file

@ -138,7 +138,7 @@ int __init mac_hid_init(void)
return err; return err;
#if defined(CONFIG_SYSCTL) #if defined(CONFIG_SYSCTL)
mac_hid_sysctl_header = register_sysctl_table(mac_hid_root_dir, 0); mac_hid_sysctl_header = register_sysctl_table(mac_hid_root_dir);
#endif /* CONFIG_SYSCTL */ #endif /* CONFIG_SYSCTL */
return 0; return 0;

View file

@ -5581,7 +5581,7 @@ static int __init md_init(void)
md_probe, NULL, NULL); md_probe, NULL, NULL);
register_reboot_notifier(&md_notifier); register_reboot_notifier(&md_notifier);
raid_table_header = register_sysctl_table(raid_root_table, 0); raid_table_header = register_sysctl_table(raid_root_table);
md_geninit(); md_geninit();
return (0); return (0);

View file

@ -1244,7 +1244,7 @@ int __init init_arlan_proc(void)
return 0; return 0;
for (i = 0; i < MAX_ARLANS && arlan_device[i]; i++) for (i = 0; i < MAX_ARLANS && arlan_device[i]; i++)
arlan_table[i].ctl_name = i + 1; arlan_table[i].ctl_name = i + 1;
arlan_device_sysctl_header = register_sysctl_table(arlan_root_table, 0); arlan_device_sysctl_header = register_sysctl_table(arlan_root_table);
if (!arlan_device_sysctl_header) if (!arlan_device_sysctl_header)
return -1; return -1;

View file

@ -518,7 +518,7 @@ int parport_proc_register(struct parport *port)
t->parport_dir[0].child = t->port_dir; t->parport_dir[0].child = t->port_dir;
t->dev_dir[0].child = t->parport_dir; t->dev_dir[0].child = t->parport_dir;
t->sysctl_header = register_sysctl_table(t->dev_dir, 0); t->sysctl_header = register_sysctl_table(t->dev_dir);
if (t->sysctl_header == NULL) { if (t->sysctl_header == NULL) {
kfree(t); kfree(t);
t = NULL; t = NULL;
@ -574,7 +574,7 @@ int parport_device_proc_register(struct pardevice *device)
t->device_dir[0].child = t->vars; t->device_dir[0].child = t->vars;
t->vars[0].data = &device->timeslice; t->vars[0].data = &device->timeslice;
t->sysctl_header = register_sysctl_table(t->dev_dir, 0); t->sysctl_header = register_sysctl_table(t->dev_dir);
if (t->sysctl_header == NULL) { if (t->sysctl_header == NULL) {
kfree(t); kfree(t);
t = NULL; t = NULL;
@ -597,7 +597,7 @@ int parport_device_proc_unregister(struct pardevice *device)
static int __init parport_default_proc_register(void) static int __init parport_default_proc_register(void)
{ {
parport_default_sysctl_table.sysctl_header = parport_default_sysctl_table.sysctl_header =
register_sysctl_table(parport_default_sysctl_table.dev_dir, 0); register_sysctl_table(parport_default_sysctl_table.dev_dir);
return 0; return 0;
} }

View file

@ -41,7 +41,7 @@ static struct ctl_table_header *scsi_table_header;
int __init scsi_init_sysctl(void) int __init scsi_init_sysctl(void)
{ {
scsi_table_header = register_sysctl_table(scsi_root_table, 0); scsi_table_header = register_sysctl_table(scsi_root_table);
if (!scsi_table_header) if (!scsi_table_header)
return -ENOMEM; return -ENOMEM;
return 0; return 0;

View file

@ -271,7 +271,7 @@ void coda_sysctl_init(void)
#ifdef CONFIG_SYSCTL #ifdef CONFIG_SYSCTL
if ( !fs_table_header ) if ( !fs_table_header )
fs_table_header = register_sysctl_table(fs_table, 0); fs_table_header = register_sysctl_table(fs_table);
#endif #endif
} }

View file

@ -1841,7 +1841,7 @@ static int __init dquot_init(void)
printk(KERN_NOTICE "VFS: Disk quotas %s\n", __DQUOT_VERSION__); printk(KERN_NOTICE "VFS: Disk quotas %s\n", __DQUOT_VERSION__);
register_sysctl_table(sys_table, 0); register_sysctl_table(sys_table);
dquot_cachep = kmem_cache_create("dquot", dquot_cachep = kmem_cache_create("dquot",
sizeof(struct dquot), sizeof(unsigned long) * 4, sizeof(struct dquot), sizeof(unsigned long) * 4,

View file

@ -512,7 +512,7 @@ module_param(nsm_use_hostnames, bool, 0644);
static int __init init_nlm(void) static int __init init_nlm(void)
{ {
nlm_sysctl_table = register_sysctl_table(nlm_sysctl_root, 0); nlm_sysctl_table = register_sysctl_table(nlm_sysctl_root);
return nlm_sysctl_table ? 0 : -ENOMEM; return nlm_sysctl_table ? 0 : -ENOMEM;
} }

View file

@ -75,7 +75,7 @@ static ctl_table nfs_cb_sysctl_root[] = {
int nfs_register_sysctl(void) int nfs_register_sysctl(void)
{ {
nfs_callback_sysctl_table = register_sysctl_table(nfs_cb_sysctl_root, 0); nfs_callback_sysctl_table = register_sysctl_table(nfs_cb_sysctl_root);
if (nfs_callback_sysctl_table == NULL) if (nfs_callback_sysctl_table == NULL)
return -ENOMEM; return -ENOMEM;
return 0; return 0;

View file

@ -70,7 +70,7 @@ int ntfs_sysctl(int add)
{ {
if (add) { if (add) {
BUG_ON(sysctls_root_table); BUG_ON(sysctls_root_table);
sysctls_root_table = register_sysctl_table(sysctls_root, 0); sysctls_root_table = register_sysctl_table(sysctls_root);
if (!sysctls_root_table) if (!sysctls_root_table)
return -ENOMEM; return -ENOMEM;
#ifdef CONFIG_PROC_FS #ifdef CONFIG_PROC_FS

View file

@ -922,7 +922,7 @@ static int __init init_o2nm(void)
o2hb_init(); o2hb_init();
o2net_init(); o2net_init();
ocfs2_table_header = register_sysctl_table(ocfs2_root_table, 0); ocfs2_table_header = register_sysctl_table(ocfs2_root_table);
if (!ocfs2_table_header) { if (!ocfs2_table_header) {
printk(KERN_ERR "nodemanager: unable to register sysctl\n"); printk(KERN_ERR "nodemanager: unable to register sysctl\n");
ret = -ENOMEM; /* or something. */ ret = -ENOMEM; /* or something. */

View file

@ -251,7 +251,7 @@ static ctl_table xfs_root_table[] = {
void void
xfs_sysctl_register(void) xfs_sysctl_register(void)
{ {
xfs_table_header = register_sysctl_table(xfs_root_table, 0); xfs_table_header = register_sysctl_table(xfs_root_table);
} }
void void

View file

@ -1035,8 +1035,8 @@ struct ctl_table_header
struct completion *unregistering; struct completion *unregistering;
}; };
struct ctl_table_header * register_sysctl_table(ctl_table * table, struct ctl_table_header * register_sysctl_table(ctl_table * table);
int insert_at_head);
void unregister_sysctl_table(struct ctl_table_header * table); void unregister_sysctl_table(struct ctl_table_header * table);
#else /* __KERNEL__ */ #else /* __KERNEL__ */

View file

@ -176,7 +176,7 @@ static struct ctl_table ipc_root_table[] = {
static int __init ipc_sysctl_init(void) static int __init ipc_sysctl_init(void)
{ {
register_sysctl_table(ipc_root_table, 0); register_sysctl_table(ipc_root_table);
return 0; return 0;
} }

View file

@ -1255,7 +1255,7 @@ static int __init init_mqueue_fs(void)
return -ENOMEM; return -ENOMEM;
/* ignore failues - they are not fatal */ /* ignore failues - they are not fatal */
mq_sysctl_table = register_sysctl_table(mq_sysctl_root, 0); mq_sysctl_table = register_sysctl_table(mq_sysctl_root);
error = register_filesystem(&mqueue_fs_type); error = register_filesystem(&mqueue_fs_type);
if (error) if (error)

View file

@ -1244,7 +1244,6 @@ int do_sysctl_strategy (ctl_table *table,
/** /**
* register_sysctl_table - register a sysctl hierarchy * register_sysctl_table - register a sysctl hierarchy
* @table: the top-level table structure * @table: the top-level table structure
* @insert_at_head: whether the entry should be inserted in front or at the end
* *
* Register a sysctl table hierarchy. @table should be a filled in ctl_table * Register a sysctl table hierarchy. @table should be a filled in ctl_table
* array. An entry with a ctl_name of 0 terminates the table. * array. An entry with a ctl_name of 0 terminates the table.
@ -1310,8 +1309,7 @@ int do_sysctl_strategy (ctl_table *table,
* This routine returns %NULL on a failure to register, and a pointer * This routine returns %NULL on a failure to register, and a pointer
* to the table header on success. * to the table header on success.
*/ */
struct ctl_table_header *register_sysctl_table(ctl_table * table, struct ctl_table_header *register_sysctl_table(ctl_table * table)
int insert_at_head)
{ {
struct ctl_table_header *tmp; struct ctl_table_header *tmp;
tmp = kmalloc(sizeof(struct ctl_table_header), GFP_KERNEL); tmp = kmalloc(sizeof(struct ctl_table_header), GFP_KERNEL);
@ -1322,10 +1320,7 @@ struct ctl_table_header *register_sysctl_table(ctl_table * table,
tmp->used = 0; tmp->used = 0;
tmp->unregistering = NULL; tmp->unregistering = NULL;
spin_lock(&sysctl_lock); spin_lock(&sysctl_lock);
if (insert_at_head) list_add_tail(&tmp->ctl_entry, &root_table_header.ctl_entry);
list_add(&tmp->ctl_entry, &root_table_header.ctl_entry);
else
list_add_tail(&tmp->ctl_entry, &root_table_header.ctl_entry);
spin_unlock(&sysctl_lock); spin_unlock(&sysctl_lock);
#ifdef CONFIG_PROC_SYSCTL #ifdef CONFIG_PROC_SYSCTL
register_proc_table(table, proc_sys_root, tmp); register_proc_table(table, proc_sys_root, tmp);

View file

@ -139,7 +139,7 @@ static struct ctl_table uts_root_table[] = {
static int __init utsname_sysctl_init(void) static int __init utsname_sysctl_init(void)
{ {
register_sysctl_table(uts_root_table, 0); register_sysctl_table(uts_root_table);
return 0; return 0;
} }

View file

@ -73,7 +73,7 @@ static struct ctl_table_header *atalk_table_header;
void atalk_register_sysctl(void) void atalk_register_sysctl(void)
{ {
atalk_table_header = register_sysctl_table(atalk_root_table, 0); atalk_table_header = register_sysctl_table(atalk_root_table);
} }
void atalk_unregister_sysctl(void) void atalk_unregister_sysctl(void)

View file

@ -245,7 +245,7 @@ void ax25_register_sysctl(void)
ax25_dir_table[0].child = ax25_table; ax25_dir_table[0].child = ax25_table;
ax25_table_header = register_sysctl_table(ax25_root_table, 0); ax25_table_header = register_sysctl_table(ax25_root_table);
} }
void ax25_unregister_sysctl(void) void ax25_unregister_sysctl(void)

View file

@ -957,7 +957,7 @@ int __init br_netfilter_init(void)
if (ret < 0) if (ret < 0)
return ret; return ret;
#ifdef CONFIG_SYSCTL #ifdef CONFIG_SYSCTL
brnf_sysctl_header = register_sysctl_table(brnf_net_table, 0); brnf_sysctl_header = register_sysctl_table(brnf_net_table);
if (brnf_sysctl_header == NULL) { if (brnf_sysctl_header == NULL) {
printk(KERN_WARNING printk(KERN_WARNING
"br_netfilter: can't register to sysctl.\n"); "br_netfilter: can't register to sysctl.\n");

View file

@ -2707,7 +2707,7 @@ int neigh_sysctl_register(struct net_device *dev, struct neigh_parms *p,
t->neigh_proto_dir[0].child = t->neigh_neigh_dir; t->neigh_proto_dir[0].child = t->neigh_neigh_dir;
t->neigh_root_dir[0].child = t->neigh_proto_dir; t->neigh_root_dir[0].child = t->neigh_proto_dir;
t->sysctl_header = register_sysctl_table(t->neigh_root_dir, 0); t->sysctl_header = register_sysctl_table(t->neigh_root_dir);
if (!t->sysctl_header) { if (!t->sysctl_header) {
err = -ENOBUFS; err = -ENOBUFS;
goto free_procname; goto free_procname;

View file

@ -127,7 +127,7 @@ static struct ctl_table_header *dccp_table_header;
int __init dccp_sysctl_init(void) int __init dccp_sysctl_init(void)
{ {
dccp_table_header = register_sysctl_table(dccp_root_table, 0); dccp_table_header = register_sysctl_table(dccp_root_table);
return dccp_table_header != NULL ? 0 : -ENOMEM; return dccp_table_header != NULL ? 0 : -ENOMEM;
} }

View file

@ -282,7 +282,7 @@ static void dn_dev_sysctl_register(struct net_device *dev, struct dn_dev_parms *
t->dn_dev_root_dir[0].de = NULL; t->dn_dev_root_dir[0].de = NULL;
t->dn_dev_vars[0].extra1 = (void *)dev; t->dn_dev_vars[0].extra1 = (void *)dev;
t->sysctl_header = register_sysctl_table(t->dn_dev_root_dir, 0); t->sysctl_header = register_sysctl_table(t->dn_dev_root_dir);
if (t->sysctl_header == NULL) if (t->sysctl_header == NULL)
kfree(t); kfree(t);
else else

View file

@ -491,7 +491,7 @@ static ctl_table dn_root_table[] = {
void dn_register_sysctl(void) void dn_register_sysctl(void)
{ {
dn_table_header = register_sysctl_table(dn_root_table, 0); dn_table_header = register_sysctl_table(dn_root_table);
} }
void dn_unregister_sysctl(void) void dn_unregister_sysctl(void)

View file

@ -1606,7 +1606,7 @@ static void devinet_sysctl_register(struct in_device *in_dev,
t->devinet_root_dir[0].child = t->devinet_proto_dir; t->devinet_root_dir[0].child = t->devinet_proto_dir;
t->devinet_root_dir[0].de = NULL; t->devinet_root_dir[0].de = NULL;
t->sysctl_header = register_sysctl_table(t->devinet_root_dir, 0); t->sysctl_header = register_sysctl_table(t->devinet_root_dir);
if (!t->sysctl_header) if (!t->sysctl_header)
goto free_procname; goto free_procname;
@ -1640,7 +1640,7 @@ void __init devinet_init(void)
rtnetlink_links[PF_INET] = inet_rtnetlink_table; rtnetlink_links[PF_INET] = inet_rtnetlink_table;
#ifdef CONFIG_SYSCTL #ifdef CONFIG_SYSCTL
devinet_sysctl.sysctl_header = devinet_sysctl.sysctl_header =
register_sysctl_table(devinet_sysctl.devinet_root_dir, 0); register_sysctl_table(devinet_sysctl.devinet_root_dir);
devinet_sysctl_register(NULL, &ipv4_devconf_dflt); devinet_sysctl_register(NULL, &ipv4_devconf_dflt);
#endif #endif
} }

View file

@ -2359,7 +2359,7 @@ int ip_vs_control_init(void)
proc_net_fops_create("ip_vs", 0, &ip_vs_info_fops); proc_net_fops_create("ip_vs", 0, &ip_vs_info_fops);
proc_net_fops_create("ip_vs_stats",0, &ip_vs_stats_fops); proc_net_fops_create("ip_vs_stats",0, &ip_vs_stats_fops);
sysctl_header = register_sysctl_table(vs_root_table, 0); sysctl_header = register_sysctl_table(vs_root_table);
/* Initialize ip_vs_svc_table, ip_vs_svc_fwm_table, ip_vs_rtable */ /* Initialize ip_vs_svc_table, ip_vs_svc_fwm_table, ip_vs_rtable */
for(idx = 0; idx < IP_VS_SVC_TAB_SIZE; idx++) { for(idx = 0; idx < IP_VS_SVC_TAB_SIZE; idx++) {

View file

@ -583,7 +583,7 @@ static struct ip_vs_scheduler ip_vs_lblc_scheduler =
static int __init ip_vs_lblc_init(void) static int __init ip_vs_lblc_init(void)
{ {
INIT_LIST_HEAD(&ip_vs_lblc_scheduler.n_list); INIT_LIST_HEAD(&ip_vs_lblc_scheduler.n_list);
sysctl_header = register_sysctl_table(lblc_root_table, 0); sysctl_header = register_sysctl_table(lblc_root_table);
return register_ip_vs_scheduler(&ip_vs_lblc_scheduler); return register_ip_vs_scheduler(&ip_vs_lblc_scheduler);
} }

View file

@ -841,7 +841,7 @@ static struct ip_vs_scheduler ip_vs_lblcr_scheduler =
static int __init ip_vs_lblcr_init(void) static int __init ip_vs_lblcr_init(void)
{ {
INIT_LIST_HEAD(&ip_vs_lblcr_scheduler.n_list); INIT_LIST_HEAD(&ip_vs_lblcr_scheduler.n_list);
sysctl_header = register_sysctl_table(lblcr_root_table, 0); sysctl_header = register_sysctl_table(lblcr_root_table);
#ifdef CONFIG_IP_VS_LBLCR_DEBUG #ifdef CONFIG_IP_VS_LBLCR_DEBUG
proc_net_create("ip_vs_lblcr", 0, ip_vs_lblcr_getinfo); proc_net_create("ip_vs_lblcr", 0, ip_vs_lblcr_getinfo);
#endif #endif

View file

@ -622,7 +622,7 @@ static int __init ip_conntrack_proto_sctp_init(void)
} }
#ifdef CONFIG_SYSCTL #ifdef CONFIG_SYSCTL
ip_ct_sysctl_header = register_sysctl_table(ip_ct_net_table, 0); ip_ct_sysctl_header = register_sysctl_table(ip_ct_net_table);
if (ip_ct_sysctl_header == NULL) { if (ip_ct_sysctl_header == NULL) {
ret = -ENOMEM; ret = -ENOMEM;
printk("ip_conntrack_proto_sctp: can't register to sysctl.\n"); printk("ip_conntrack_proto_sctp: can't register to sysctl.\n");

View file

@ -848,7 +848,7 @@ static int __init ip_conntrack_standalone_init(void)
goto cleanup_proc_stat; goto cleanup_proc_stat;
} }
#ifdef CONFIG_SYSCTL #ifdef CONFIG_SYSCTL
ip_ct_sysctl_header = register_sysctl_table(ip_ct_net_table, 0); ip_ct_sysctl_header = register_sysctl_table(ip_ct_net_table);
if (ip_ct_sysctl_header == NULL) { if (ip_ct_sysctl_header == NULL) {
printk("ip_conntrack: can't register to sysctl.\n"); printk("ip_conntrack: can't register to sysctl.\n");
ret = -ENOMEM; ret = -ENOMEM;

View file

@ -693,7 +693,7 @@ static int __init ip_queue_init(void)
} }
register_netdevice_notifier(&ipq_dev_notifier); register_netdevice_notifier(&ipq_dev_notifier);
ipq_sysctl_header = register_sysctl_table(ipq_root_table, 0); ipq_sysctl_header = register_sysctl_table(ipq_root_table);
status = nf_register_queue_handler(PF_INET, &nfqh); status = nf_register_queue_handler(PF_INET, &nfqh);
if (status < 0) { if (status < 0) {

View file

@ -4029,7 +4029,7 @@ static void addrconf_sysctl_register(struct inet6_dev *idev, struct ipv6_devconf
t->addrconf_root_dir[0].child = t->addrconf_proto_dir; t->addrconf_root_dir[0].child = t->addrconf_proto_dir;
t->addrconf_root_dir[0].de = NULL; t->addrconf_root_dir[0].de = NULL;
t->sysctl_header = register_sysctl_table(t->addrconf_root_dir, 0); t->sysctl_header = register_sysctl_table(t->addrconf_root_dir);
if (t->sysctl_header == NULL) if (t->sysctl_header == NULL)
goto free_procname; goto free_procname;
else else
@ -4114,7 +4114,7 @@ int __init addrconf_init(void)
rtnetlink_links[PF_INET6] = inet6_rtnetlink_table; rtnetlink_links[PF_INET6] = inet6_rtnetlink_table;
#ifdef CONFIG_SYSCTL #ifdef CONFIG_SYSCTL
addrconf_sysctl.sysctl_header = addrconf_sysctl.sysctl_header =
register_sysctl_table(addrconf_sysctl.addrconf_root_dir, 0); register_sysctl_table(addrconf_sysctl.addrconf_root_dir);
addrconf_sysctl_register(NULL, &ipv6_devconf_dflt); addrconf_sysctl_register(NULL, &ipv6_devconf_dflt);
#endif #endif

View file

@ -683,7 +683,7 @@ static int __init ip6_queue_init(void)
} }
register_netdevice_notifier(&ipq_dev_notifier); register_netdevice_notifier(&ipq_dev_notifier);
ipq_sysctl_header = register_sysctl_table(ipq_root_table, 0); ipq_sysctl_header = register_sysctl_table(ipq_root_table);
status = nf_register_queue_handler(PF_INET6, &nfqh); status = nf_register_queue_handler(PF_INET6, &nfqh);
if (status < 0) { if (status < 0) {

View file

@ -107,7 +107,7 @@ static ctl_table ipv6_root_table[] = {
void ipv6_sysctl_register(void) void ipv6_sysctl_register(void)
{ {
ipv6_sysctl_header = register_sysctl_table(ipv6_root_table, 0); ipv6_sysctl_header = register_sysctl_table(ipv6_root_table);
} }
void ipv6_sysctl_unregister(void) void ipv6_sysctl_unregister(void)

View file

@ -52,7 +52,7 @@ static struct ctl_table_header *ipx_table_header;
void ipx_register_sysctl(void) void ipx_register_sysctl(void)
{ {
ipx_table_header = register_sysctl_table(ipx_root_table, 0); ipx_table_header = register_sysctl_table(ipx_root_table);
} }
void ipx_unregister_sysctl(void) void ipx_unregister_sysctl(void)

View file

@ -274,7 +274,7 @@ static struct ctl_table_header *irda_table_header;
*/ */
int __init irda_sysctl_register(void) int __init irda_sysctl_register(void)
{ {
irda_table_header = register_sysctl_table(irda_root_table, 0); irda_table_header = register_sysctl_table(irda_root_table);
if (!irda_table_header) if (!irda_table_header)
return -ENOMEM; return -ENOMEM;

View file

@ -116,7 +116,7 @@ static struct ctl_table_header *llc_table_header;
int __init llc_sysctl_init(void) int __init llc_sysctl_init(void)
{ {
llc_table_header = register_sysctl_table(llc_root_table, 0); llc_table_header = register_sysctl_table(llc_root_table);
return llc_table_header ? 0 : -ENOMEM; return llc_table_header ? 0 : -ENOMEM;
} }

View file

@ -445,7 +445,7 @@ static int __init nf_conntrack_standalone_init(void)
proc_stat->owner = THIS_MODULE; proc_stat->owner = THIS_MODULE;
#endif #endif
#ifdef CONFIG_SYSCTL #ifdef CONFIG_SYSCTL
nf_ct_sysctl_header = register_sysctl_table(nf_ct_net_table, 0); nf_ct_sysctl_header = register_sysctl_table(nf_ct_net_table);
if (nf_ct_sysctl_header == NULL) { if (nf_ct_sysctl_header == NULL) {
printk("nf_conntrack: can't register to sysctl.\n"); printk("nf_conntrack: can't register to sysctl.\n");
ret = -ENOMEM; ret = -ENOMEM;

View file

@ -56,7 +56,7 @@ nf_register_sysctl_table(struct ctl_table *path, struct ctl_table *table)
path = path_dup(path, table); path = path_dup(path, table);
if (path == NULL) if (path == NULL)
return NULL; return NULL;
header = register_sysctl_table(path, 0); header = register_sysctl_table(path);
if (header == NULL) if (header == NULL)
path_free(path, table); path_free(path, table);
return header; return header;

View file

@ -192,7 +192,7 @@ static ctl_table nr_root_table[] = {
void __init nr_register_sysctl(void) void __init nr_register_sysctl(void)
{ {
nr_table_header = register_sysctl_table(nr_root_table, 0); nr_table_header = register_sysctl_table(nr_root_table);
} }
void nr_unregister_sysctl(void) void nr_unregister_sysctl(void)

View file

@ -160,7 +160,7 @@ static ctl_table rose_root_table[] = {
void __init rose_register_sysctl(void) void __init rose_register_sysctl(void)
{ {
rose_table_header = register_sysctl_table(rose_root_table, 0); rose_table_header = register_sysctl_table(rose_root_table);
} }
void rose_unregister_sysctl(void) void rose_unregister_sysctl(void)

View file

@ -97,7 +97,7 @@ static ctl_table rxrpc_dir_sysctl_table[] = {
int rxrpc_sysctl_init(void) int rxrpc_sysctl_init(void)
{ {
#ifdef CONFIG_SYSCTL #ifdef CONFIG_SYSCTL
rxrpc_sysctl = register_sysctl_table(rxrpc_dir_sysctl_table, 0); rxrpc_sysctl = register_sysctl_table(rxrpc_dir_sysctl_table);
if (!rxrpc_sysctl) if (!rxrpc_sysctl)
return -ENOMEM; return -ENOMEM;
#endif /* CONFIG_SYSCTL */ #endif /* CONFIG_SYSCTL */

View file

@ -254,7 +254,7 @@ static struct ctl_table_header * sctp_sysctl_header;
/* Sysctl registration. */ /* Sysctl registration. */
void sctp_sysctl_register(void) void sctp_sysctl_register(void)
{ {
sctp_sysctl_header = register_sysctl_table(sctp_root_table, 0); sctp_sysctl_header = register_sysctl_table(sctp_root_table);
} }
/* Sysctl deregistration. */ /* Sysctl deregistration. */

View file

@ -36,7 +36,7 @@ void
rpc_register_sysctl(void) rpc_register_sysctl(void)
{ {
if (!sunrpc_table_header) if (!sunrpc_table_header)
sunrpc_table_header = register_sysctl_table(sunrpc_table, 0); sunrpc_table_header = register_sysctl_table(sunrpc_table);
} }
void void

View file

@ -1636,7 +1636,7 @@ int init_socket_xprt(void)
{ {
#ifdef RPC_DEBUG #ifdef RPC_DEBUG
if (!sunrpc_table_header) if (!sunrpc_table_header)
sunrpc_table_header = register_sysctl_table(sunrpc_table, 0); sunrpc_table_header = register_sysctl_table(sunrpc_table);
#endif #endif
return 0; return 0;

View file

@ -50,7 +50,7 @@ static struct ctl_table_header * unix_sysctl_header;
void unix_sysctl_register(void) void unix_sysctl_register(void)
{ {
unix_sysctl_header = register_sysctl_table(unix_root_table, 0); unix_sysctl_header = register_sysctl_table(unix_root_table);
} }
void unix_sysctl_unregister(void) void unix_sysctl_unregister(void)

View file

@ -106,7 +106,7 @@ static struct ctl_table x25_root_table[] = {
void __init x25_register_sysctl(void) void __init x25_register_sysctl(void)
{ {
x25_table_header = register_sysctl_table(x25_root_table, 0); x25_table_header = register_sysctl_table(x25_root_table);
} }
void x25_unregister_sysctl(void) void x25_unregister_sysctl(void)