diff options
Diffstat (limited to 'include/linux/pid_namespace.h')
| -rw-r--r-- | include/linux/pid_namespace.h | 23 | 
1 files changed, 23 insertions, 0 deletions
diff --git a/include/linux/pid_namespace.h b/include/linux/pid_namespace.h index 0135c76c76c..1689e28483e 100644 --- a/include/linux/pid_namespace.h +++ b/include/linux/pid_namespace.h @@ -29,6 +29,7 @@ struct pid_namespace {  extern struct pid_namespace init_pid_ns; +#ifdef CONFIG_PID_NS  static inline struct pid_namespace *get_pid_ns(struct pid_namespace *ns)  {  	if (ns != &init_pid_ns) @@ -45,6 +46,28 @@ static inline void put_pid_ns(struct pid_namespace *ns)  		kref_put(&ns->kref, free_pid_ns);  } +#else /* !CONFIG_PID_NS */ +#include <linux/err.h> + +static inline struct pid_namespace *get_pid_ns(struct pid_namespace *ns) +{ +	return ns; +} + +static inline struct pid_namespace * +copy_pid_ns(unsigned long flags, struct pid_namespace *ns) +{ +	if (flags & CLONE_NEWPID) +		ns = ERR_PTR(-EINVAL); +	return ns; +} + +static inline void put_pid_ns(struct pid_namespace *ns) +{ +} + +#endif /* CONFIG_PID_NS */ +  static inline struct pid_namespace *task_active_pid_ns(struct task_struct *tsk)  {  	return tsk->nsproxy->pid_ns;  |