#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 ucounts *ucounts; 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 | 118 | 29.80% | 10 | 27.78% |
pavel emelianov | pavel emelianov | 71 | 17.93% | 8 | 22.22% |
sukadev bhattiprolu | sukadev bhattiprolu | 70 | 17.68% | 5 | 13.89% |
cedric le goater | cedric le goater | 46 | 11.62% | 1 | 2.78% |
daniel lezcano | daniel lezcano | 35 | 8.84% | 1 | 2.78% |
al viro | al viro | 17 | 4.29% | 4 | 11.11% |
adrian bunk | adrian bunk | 12 | 3.03% | 1 | 2.78% |
raphael s. carvalho | raphael s. carvalho | 9 | 2.27% | 1 | 2.78% |
badari pulavarty | badari pulavarty | 5 | 1.26% | 1 | 2.78% |
vasiliy kulikov | vasiliy kulikov | 5 | 1.26% | 1 | 2.78% |
paul gortmaker | paul gortmaker | 3 | 0.76% | 1 | 2.78% |
kent overstreet | kent overstreet | 3 | 0.76% | 1 | 2.78% |
cyrill gorcunov | cyrill gorcunov | 2 | 0.51% | 1 | 2.78% |
Total | 396 | 100.00% | 36 | 100.00% |