Skip to content

Commit

Permalink
sysctl: Implement retire_sysctl_set
Browse files Browse the repository at this point in the history
This adds a small helper retire_sysctl_set to remove the intimate knowledge about
the how a sysctl_set is implemented from net/sysct_net.c

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
  • Loading branch information
ebiederm committed Jan 25, 2012
1 parent a15e209 commit 97324cd
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 1 deletion.
4 changes: 4 additions & 0 deletions fs/proc/proc_sysctl.c
Original file line number Diff line number Diff line change
Expand Up @@ -1080,6 +1080,10 @@ void setup_sysctl_set(struct ctl_table_set *p,
p->is_seen = is_seen;
}

void retire_sysctl_set(struct ctl_table_set *set)
{
WARN_ON(!list_empty(&set->list));
}

int __init proc_sys_init(void)
{
Expand Down
1 change: 1 addition & 0 deletions include/linux/sysctl.h
Original file line number Diff line number Diff line change
Expand Up @@ -1072,6 +1072,7 @@ void proc_sys_poll_notify(struct ctl_table_poll *poll);
extern void setup_sysctl_set(struct ctl_table_set *p,
struct ctl_table_set *parent,
int (*is_seen)(struct ctl_table_set *));
extern void retire_sysctl_set(struct ctl_table_set *set);

void register_sysctl_root(struct ctl_table_root *root);
struct ctl_table_header *__register_sysctl_paths(
Expand Down
2 changes: 1 addition & 1 deletion net/sysctl_net.c
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ static int __net_init sysctl_net_init(struct net *net)

static void __net_exit sysctl_net_exit(struct net *net)
{
WARN_ON(!list_empty(&net->sysctls.list));
retire_sysctl_set(&net->sysctls);
}

static struct pernet_operations sysctl_pernet_ops = {
Expand Down

0 comments on commit 97324cd

Please sign in to comment.