|
@@ -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;
|