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

Sukadev Bhattiprolu
2008-12-02T22:13:25Z

Bastian Blank [bastian@waldi.eu.org] wrote:
| On Mon, Dec 01, 2008 at 12:24:22PM -0800, Sukadev Bhattiprolu wrote:
| > Bastian Blank [bastian@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