Commit e0d04529 authored by Eric W. Biederman's avatar Eric W. Biederman

sysctl: Factor out init_header from __register_sysctl_paths

Factor out a routing to initialize the sysctl_table_header.
Signed-off-by: default avatarEric W. Biederman <ebiederm@xmission.com>
parent 938aaa4f
...@@ -42,6 +42,21 @@ static struct ctl_table_root sysctl_table_root = { ...@@ -42,6 +42,21 @@ static struct ctl_table_root sysctl_table_root = {
static DEFINE_SPINLOCK(sysctl_lock); static DEFINE_SPINLOCK(sysctl_lock);
static void init_header(struct ctl_table_header *head,
struct ctl_table_root *root, struct ctl_table_set *set,
struct ctl_table *table)
{
head->ctl_table_arg = table;
INIT_LIST_HEAD(&head->ctl_entry);
head->used = 0;
head->count = 1;
head->nreg = 1;
head->unregistering = NULL;
head->root = root;
head->set = set;
head->parent = NULL;
}
/* called under sysctl_lock */ /* called under sysctl_lock */
static int use_table(struct ctl_table_header *p) static int use_table(struct ctl_table_header *p)
{ {
...@@ -932,14 +947,8 @@ struct ctl_table_header *__register_sysctl_table( ...@@ -932,14 +947,8 @@ struct ctl_table_header *__register_sysctl_table(
new_name += namelen + 1; new_name += namelen + 1;
} }
*prevp = table; *prevp = table;
header->ctl_table_arg = table;
init_header(header, root, NULL, table);
INIT_LIST_HEAD(&header->ctl_entry);
header->used = 0;
header->unregistering = NULL;
header->root = root;
header->count = 1;
header->nreg = 1;
if (sysctl_check_table(path, table)) if (sysctl_check_table(path, table))
goto fail; goto fail;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment