aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/sysctl.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/sysctl.c')
-rw-r--r--kernel/sysctl.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index 0a1d2733cf41..1cdfe942d160 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -1592,9 +1592,13 @@ static void sysctl_set_parent(struct ctl_table *parent, struct ctl_table *table)
1592 1592
1593static __init int sysctl_init(void) 1593static __init int sysctl_init(void)
1594{ 1594{
1595 int err;
1596 sysctl_set_parent(NULL, root_table); 1595 sysctl_set_parent(NULL, root_table);
1597 err = sysctl_check_table(current->nsproxy, root_table); 1596#ifdef CONFIG_SYSCTL_SYSCALL_CHECK
1597 {
1598 int err;
1599 err = sysctl_check_table(current->nsproxy, root_table);
1600 }
1601#endif
1598 return 0; 1602 return 0;
1599} 1603}
1600 1604
@@ -1721,10 +1725,12 @@ struct ctl_table_header *__register_sysctl_paths(
1721 header->unregistering = NULL; 1725 header->unregistering = NULL;
1722 header->root = root; 1726 header->root = root;
1723 sysctl_set_parent(NULL, header->ctl_table); 1727 sysctl_set_parent(NULL, header->ctl_table);
1728#ifdef CONFIG_SYSCTL_SYSCALL_CHECK
1724 if (sysctl_check_table(namespaces, header->ctl_table)) { 1729 if (sysctl_check_table(namespaces, header->ctl_table)) {
1725 kfree(header); 1730 kfree(header);
1726 return NULL; 1731 return NULL;
1727 } 1732 }
1733#endif
1728 spin_lock(&sysctl_lock); 1734 spin_lock(&sysctl_lock);
1729 header_list = lookup_header_list(root, namespaces); 1735 header_list = lookup_header_list(root, namespaces);
1730 list_add_tail(&header->ctl_entry, header_list); 1736 list_add_tail(&header->ctl_entry, header_list);