#include <linux/mm.h>
#include <linux/export.h>
#include <linux/sysctl.h>
#include <linux/nsproxy.h>
#include <net/sock.h>
#ifdef CONFIG_INET
#include <net/ip.h>
#endif
#ifdef CONFIG_NET
#include <linux/if_ether.h>
#endif
static struct ctl_table_set *
net_ctl_header_lookup(struct ctl_table_root *root)
{ … }
static int is_seen(struct ctl_table_set *set)
{ … }
static int net_ctl_permissions(struct ctl_table_header *head,
const struct ctl_table *table)
{ … }
static void net_ctl_set_ownership(struct ctl_table_header *head,
kuid_t *uid, kgid_t *gid)
{ … }
static struct ctl_table_root net_sysctl_root = …;
static int __net_init sysctl_net_init(struct net *net)
{ … }
static void __net_exit sysctl_net_exit(struct net *net)
{ … }
static struct pernet_operations sysctl_pernet_ops = …;
static struct ctl_table_header *net_header;
__init int net_sysctl_init(void)
{ … }
static void ensure_safe_net_sysctl(struct net *net, const char *path,
struct ctl_table *table, size_t table_size)
{ … }
struct ctl_table_header *register_net_sysctl_sz(struct net *net,
const char *path,
struct ctl_table *table,
size_t table_size)
{ … }
EXPORT_SYMBOL_GPL(…);
void unregister_net_sysctl_table(struct ctl_table_header *header)
{ … }
EXPORT_SYMBOL_GPL(…);