From 784c3b6430dbfe6ff89cd6d997ae369a473323b0 Mon Sep 17 00:00:00 2001 From: "Eric W. Biederman" Date: Wed, 7 Jan 2009 18:08:46 -0800 Subject: [PATCH] --- yaml --- r: 127616 b: refs/heads/master c: f9fb860f67b9542cd78d1558dec7058092b57d8e h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/include/linux/pid.h | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index a6097074992a..60b1a042e918 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6af866af34a96fed24a55979a78b6f73bd4e8e87 +refs/heads/master: f9fb860f67b9542cd78d1558dec7058092b57d8e diff --git a/trunk/include/linux/pid.h b/trunk/include/linux/pid.h index bb206c56d1f0..49f1c2f66e95 100644 --- a/trunk/include/linux/pid.h +++ b/trunk/include/linux/pid.h @@ -122,6 +122,24 @@ int next_pidmap(struct pid_namespace *pid_ns, int last); extern struct pid *alloc_pid(struct pid_namespace *ns); extern void free_pid(struct pid *pid); +/* + * ns_of_pid() returns the pid namespace in which the specified pid was + * allocated. + * + * NOTE: + * ns_of_pid() is expected to be called for a process (task) that has + * an attached 'struct pid' (see attach_pid(), detach_pid()) i.e @pid + * is expected to be non-NULL. If @pid is NULL, caller should handle + * the resulting NULL pid-ns. + */ +static inline struct pid_namespace *ns_of_pid(struct pid *pid) +{ + struct pid_namespace *ns = NULL; + if (pid) + ns = pid->numbers[pid->level].ns; + return ns; +} + /* * the helpers to get the pid's id seen from different namespaces *