These routines are required for making SUNRPC sysctl's per network namespace context. Signed-off-by: Stanislav Kinsbursky <skinsbursky@xxxxxxxxxxxxx> --- include/linux/sysctl.h | 1 + kernel/sysctl.c | 11 +++++++++++ 2 files changed, 12 insertions(+), 0 deletions(-) diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h index 703cfa3..be586a9 100644 --- a/include/linux/sysctl.h +++ b/include/linux/sysctl.h @@ -1084,6 +1084,7 @@ struct ctl_path { }; void register_sysctl_root(struct ctl_table_root *root); +void unregister_sysctl_root(struct ctl_table_root *root); struct ctl_table_header *__register_sysctl_paths( struct ctl_table_root *root, struct nsproxy *namespaces, const struct ctl_path *path, struct ctl_table *table); diff --git a/kernel/sysctl.c b/kernel/sysctl.c index ae27196..fb016a9 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c @@ -1700,6 +1700,15 @@ void register_sysctl_root(struct ctl_table_root *root) list_add_tail(&root->root_list, &sysctl_table_root.root_list); spin_unlock(&sysctl_lock); } +EXPORT_SYMBOL_GPL(register_sysctl_root); + +void unregister_sysctl_root(struct ctl_table_root *root) +{ + spin_lock(&sysctl_lock); + list_del(&root->root_list); + spin_unlock(&sysctl_lock); +} +EXPORT_SYMBOL_GPL(unregister_sysctl_root); /* * sysctl_perm does NOT grant the superuser all rights automatically, because @@ -1925,6 +1934,7 @@ struct ctl_table_header *__register_sysctl_paths( return header; } +EXPORT_SYMBOL_GPL(__register_sysctl_paths); /** * register_sysctl_table_path - register a sysctl table hierarchy @@ -2007,6 +2017,7 @@ void setup_sysctl_set(struct ctl_table_set *p, p->parent = parent ? parent : &sysctl_table_root.default_set; p->is_seen = is_seen; } +EXPORT_SYMBOL_GPL(setup_sysctl_set); #else /* !CONFIG_SYSCTL */ struct ctl_table_header *register_sysctl_table(struct ctl_table * table) -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html