[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:

committed by
Linus Torvalds

parent
ae83681026
commit
0b4d414714
@@ -1244,7 +1244,6 @@ int do_sysctl_strategy (ctl_table *table,
|
||||
/**
|
||||
* register_sysctl_table - register a sysctl hierarchy
|
||||
* @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
|
||||
* 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
|
||||
* to the table header on success.
|
||||
*/
|
||||
struct ctl_table_header *register_sysctl_table(ctl_table * table,
|
||||
int insert_at_head)
|
||||
struct ctl_table_header *register_sysctl_table(ctl_table * table)
|
||||
{
|
||||
struct ctl_table_header *tmp;
|
||||
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->unregistering = NULL;
|
||||
spin_lock(&sysctl_lock);
|
||||
if (insert_at_head)
|
||||
list_add(&tmp->ctl_entry, &root_table_header.ctl_entry);
|
||||
else
|
||||
list_add_tail(&tmp->ctl_entry, &root_table_header.ctl_entry);
|
||||
list_add_tail(&tmp->ctl_entry, &root_table_header.ctl_entry);
|
||||
spin_unlock(&sysctl_lock);
|
||||
#ifdef CONFIG_PROC_SYSCTL
|
||||
register_proc_table(table, proc_sys_root, tmp);
|
||||
|
Reference in New Issue
Block a user