Messages in this thread | | | Date | Tue, 2 Dec 2008 14:12:45 -0800 | From | Sukadev Bhattiprolu <> | Subject | Re: [RFC][PATCH 1/5] pid: Implement ns_of_pid |
| |
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
| |