[RFC][PATCH 1/5] pid: Implement ns_of_pid

Sukadev Bhattiprolu sukadev at linux.vnet.ibm.com
Tue Dec 2 14:12:45 PST 2008


Bastian Blank [bastian at waldi.eu.org] wrote:
| On Mon, Dec 01, 2008 at 12:24:22PM -0800, Sukadev Bhattiprolu wrote:
| > Bastian Blank [bastian at waldi.eu.org] wrote:
| > | On Tue, Nov 25, 2008 at 07:44:42PM -0800, Sukadev Bhattiprolu wrote:
| > | > +/* ns_of_pid returns the pid namespace in which the specified
| > | > + * pid was allocated.
| > | > + */
| > | > +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;
| > | > +}
| > | > +
| > | When can the pid argument be null?
| > Soon after creation but more importantly, after detach_pid()
| > (release_task).
| 
| pid is a function argument and the function does not call detach_pid. So
| please try again.

ns_of_pid() like pid_nr(), pid_nr_ns(), pid_task() etc is a low level helper
unction. ns_of_pid(), like the other helpers can potentially be called for a
process that has already called detach_pid() (i.e for a task that is exiting
but not yet waited on).  Hence the 'if (pid)' in ns_of_pid().

Sukadev


More information about the Containers mailing list