#ifndef _LINUX_PID_NS_H #define _LINUX_PID_NS_H #include <linux/sched.h> #include <linux/bug.h> #include <linux/mm.h> #include <linux/workqueue.h> #include <linux/threads.h> #include <linux/nsproxy.h> #include <linux/kref.h> #include <linux/ns_common.h> struct pidmap { atomic_t nr_free; void *page; }; #define BITS_PER_PAGE (PAGE_SIZE * 8) #define BITS_PER_PAGE_MASK (BITS_PER_PAGE-1) #define PIDMAP_ENTRIES ((PID_MAX_LIMIT+BITS_PER_PAGE-1)/BITS_PER_PAGE) struct fs_pin; struct pid_namespace { struct kref kref; struct pidmap pidmap[PIDMAP_ENTRIES]; struct rcu_head rcu; int last_pid; unsigned int nr_hashed; struct task_struct *child_reaper; struct kmem_cache *pid_cachep; unsigned int level; struct pid_namespace *parent; #ifdef CONFIG_PROC_FS struct vfsmount *proc_mnt; struct dentry *proc_self; struct dentry *proc_thread_self; #endif #ifdef CONFIG_BSD_PROCESS_ACCT struct fs_pin *bacct; #endif struct user_namespace *user_ns; struct work_struct proc_work; kgid_t pid_gid; int hide_pid; int reboot; /* group exit code if this pidns was rebooted */ struct ns_common ns; }; extern struct pid_namespace init_pid_ns; #define PIDNS_HASH_ADDING (1U << 31) #ifdef CONFIG_PID_NS
static inline struct pid_namespace *get_pid_ns(struct pid_namespace *ns) { if (ns != &init_pid_ns) kref_get(&ns->kref); return ns; }Contributors
Person | Tokens | Prop | Commits | CommitProp | |
cedric le goater | cedric le goater | 19 | 59.38% | 1 | 33.33% |
pavel emelianov | pavel emelianov | 13 | 40.62% | 2 | 66.67% |
Total | 32 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
eric w. biederman | eric w. biederman | 17 | 100.00% | 1 | 100.00% |
Total | 17 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
eric w. biederman | eric w. biederman | 40 | 100.00% | 2 | 100.00% |
Total | 40 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
eric w. biederman | eric w. biederman | 11 | 100.00% | 1 | 100.00% |
Total | 11 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
pavel emelianov | pavel emelianov | 15 | 100.00% | 1 | 100.00% |
Total | 15 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
daniel lezcano | daniel lezcano | 18 | 100.00% | 1 | 100.00% |
Total | 18 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
eric w. biederman | eric w. biederman | 113 | 28.90% | 9 | 25.71% |
pavel emelianov | pavel emelianov | 71 | 18.16% | 8 | 22.86% |
sukadev bhattiprolu | sukadev bhattiprolu | 70 | 17.90% | 5 | 14.29% |
cedric le goater | cedric le goater | 46 | 11.76% | 1 | 2.86% |
daniel lezcano | daniel lezcano | 35 | 8.95% | 1 | 2.86% |
al viro | al viro | 17 | 4.35% | 4 | 11.43% |
adrian bunk | adrian bunk | 12 | 3.07% | 1 | 2.86% |
raphael s. carvalho | raphael s. carvalho | 9 | 2.30% | 1 | 2.86% |
vasiliy kulikov | vasiliy kulikov | 5 | 1.28% | 1 | 2.86% |
badari pulavarty | badari pulavarty | 5 | 1.28% | 1 | 2.86% |
kent overstreet | kent overstreet | 3 | 0.77% | 1 | 2.86% |
paul gortmaker | paul gortmaker | 3 | 0.77% | 1 | 2.86% |
cyrill gorcunov | cyrill gorcunov | 2 | 0.51% | 1 | 2.86% |
Total | 391 | 100.00% | 35 | 100.00% |