Lines Matching full:net
3 * linux/fs/proc/net.c
9 * proc net directory handling functions
27 #include <net/net_namespace.h>
32 static inline struct net *PDE_NET(struct proc_dir_entry *pde) in PDE_NET()
37 static struct net *get_proc_net(const struct inode *inode) in get_proc_net()
46 struct net *net; in seq_open_net() local
53 net = get_proc_net(inode); in seq_open_net()
54 if (!net) in seq_open_net()
59 put_net(net); in seq_open_net()
63 p->net = net; in seq_open_net()
90 p->net = get_net(current->nsproxy->net_ns); in bpf_iter_init_seq_net()
100 put_net(p->net); in bpf_iter_fini_seq_net()
169 struct net *net; in single_open_net() local
172 net = get_proc_net(inode); in single_open_net()
173 if (!net) in single_open_net()
176 err = single_open(file, de->single_show, net); in single_open_net()
178 put_net(net); in single_open_net()
257 static struct net *get_proc_task_net(struct inode *dir) in get_proc_task_net()
261 struct net *net = NULL; in get_proc_task_net() local
269 net = get_net(ns->net_ns); in get_proc_task_net()
274 return net; in get_proc_task_net()
281 struct net *net; in proc_tgid_net_lookup() local
284 net = get_proc_task_net(dir); in proc_tgid_net_lookup()
285 if (net != NULL) { in proc_tgid_net_lookup()
286 de = proc_lookup_de(dir, dentry, net->proc_net); in proc_tgid_net_lookup()
287 put_net(net); in proc_tgid_net_lookup()
296 struct net *net; in proc_tgid_net_getattr() local
298 net = get_proc_task_net(inode); in proc_tgid_net_getattr()
302 if (net != NULL) { in proc_tgid_net_getattr()
303 stat->nlink = net->proc_net->nlink; in proc_tgid_net_getattr()
304 put_net(net); in proc_tgid_net_getattr()
318 struct net *net; in proc_tgid_net_readdir() local
321 net = get_proc_task_net(file_inode(file)); in proc_tgid_net_readdir()
322 if (net != NULL) { in proc_tgid_net_readdir()
323 ret = proc_readdir_de(file, ctx, net->proc_net); in proc_tgid_net_readdir()
324 put_net(net); in proc_tgid_net_readdir()
335 static __net_init int proc_net_ns_init(struct net *net) in proc_net_ns_init() argument
348 netd->data = net; in proc_net_ns_init()
353 memcpy(netd->name, "net", 4); in proc_net_ns_init()
355 uid = make_kuid(net->user_ns, 0); in proc_net_ns_init()
359 gid = make_kgid(net->user_ns, 0); in proc_net_ns_init()
366 net_statd = proc_net_mkdir(net, "stat", netd); in proc_net_ns_init()
370 net->proc_net = netd; in proc_net_ns_init()
371 net->proc_net_stat = net_statd; in proc_net_ns_init()
380 static __net_exit void proc_net_ns_exit(struct net *net) in proc_net_ns_exit() argument
382 remove_proc_entry("stat", net->proc_net); in proc_net_ns_exit()
383 pde_free(net->proc_net); in proc_net_ns_exit()
393 proc_symlink("net", NULL, "self/net"); in proc_net_init()