sysctl.c (0b77f5bfb45c13e1e5142374f9d6ca75292252a4) sysctl.c (88f458e4b91348b2e892c72977b5f665d7f374da)
1/*
2 * sysctl.c: General linux system control interface
3 *
4 * Begun 24 March 1995, Stephen Tweedie
5 * Added /proc support, Dec 1995
6 * Added bdflush entry and intvec min/max checking, 2/23/96, Tom Dyas.
7 * Added hooks for /proc/sys/net (minor, minor patch), 96/4/1, Mike Shaver.
8 * Added kernel/java-{interpreter,appletviewer}, 96/5/10, Mike Shaver.

--- 1578 unchanged lines hidden (view full) ---

1587 table->parent = parent;
1588 if (table->child)
1589 sysctl_set_parent(table, table->child);
1590 }
1591}
1592
1593static __init int sysctl_init(void)
1594{
1/*
2 * sysctl.c: General linux system control interface
3 *
4 * Begun 24 March 1995, Stephen Tweedie
5 * Added /proc support, Dec 1995
6 * Added bdflush entry and intvec min/max checking, 2/23/96, Tom Dyas.
7 * Added hooks for /proc/sys/net (minor, minor patch), 96/4/1, Mike Shaver.
8 * Added kernel/java-{interpreter,appletviewer}, 96/5/10, Mike Shaver.

--- 1578 unchanged lines hidden (view full) ---

1587 table->parent = parent;
1588 if (table->child)
1589 sysctl_set_parent(table, table->child);
1590 }
1591}
1592
1593static __init int sysctl_init(void)
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;
1599}
1600
1601core_initcall(sysctl_init);
1602
1603/**
1604 * __register_sysctl_paths - register a sysctl hierarchy
1605 * @root: List of sysctl headers to register on

--- 110 unchanged lines hidden (view full) ---

1716 *prevp = table;
1717 header->ctl_table_arg = table;
1718
1719 INIT_LIST_HEAD(&header->ctl_entry);
1720 header->used = 0;
1721 header->unregistering = NULL;
1722 header->root = root;
1723 sysctl_set_parent(NULL, header->ctl_table);
1602 return 0;
1603}
1604
1605core_initcall(sysctl_init);
1606
1607/**
1608 * __register_sysctl_paths - register a sysctl hierarchy
1609 * @root: List of sysctl headers to register on

--- 110 unchanged lines hidden (view full) ---

1720 *prevp = table;
1721 header->ctl_table_arg = table;
1722
1723 INIT_LIST_HEAD(&header->ctl_entry);
1724 header->used = 0;
1725 header->unregistering = NULL;
1726 header->root = root;
1727 sysctl_set_parent(NULL, header->ctl_table);
1728#ifdef CONFIG_SYSCTL_SYSCALL_CHECK
1724 if (sysctl_check_table(namespaces, header->ctl_table)) {
1725 kfree(header);
1726 return NULL;
1727 }
1729 if (sysctl_check_table(namespaces, header->ctl_table)) {
1730 kfree(header);
1731 return NULL;
1732 }
1733#endif
1728 spin_lock(&sysctl_lock);
1729 header_list = lookup_header_list(root, namespaces);
1730 list_add_tail(&header->ctl_entry, header_list);
1731 spin_unlock(&sysctl_lock);
1732
1733 return header;
1734}
1735

--- 1104 unchanged lines hidden ---
1734 spin_lock(&sysctl_lock);
1735 header_list = lookup_header_list(root, namespaces);
1736 list_add_tail(&header->ctl_entry, header_list);
1737 spin_unlock(&sysctl_lock);
1738
1739 return header;
1740}
1741

--- 1104 unchanged lines hidden ---