linux/net/sysctl_net.c

// SPDX-License-Identifier: GPL-2.0-only
/* -*- linux-c -*-
 * sysctl_net.c: sysctl interface to net subsystem.
 *
 * Begun April 1, 1996, Mike Shaver.
 * Added /proc/sys/net directories for each protocol family. [MS]
 *
 * Revision 1.2  1996/05/08  20:24:40  shaver
 * Added bits for NET_BRIDGE and the NET_IPV4_ARP stuff and
 * NET_IPV4_IP_FORWARD.
 *
 *
 */

#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)
{}

/* Return standard mode bits for table entry. */
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)
{}

/* Verify that sysctls for non-init netns are safe by either:
 * 1) being read-only, or
 * 2) having a data pointer which points outside of the global kernel/module
 *    data segment, and rather into the heap where a per-net object was
 *    allocated.
 */
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();