Messages in this thread |  | | Date | Fri, 21 Feb 2014 13:10:55 -0500 | From | Richard Guy Briggs <> | Subject | Re: [PATCH 7/7] pid: get pid_t ppid of task in init_pid_ns |
| |
On 14/02/20, Oleg Nesterov wrote: > On 01/23, Richard Guy Briggs wrote: > > > > Added the functions task_ppid_nr_ns() and task_ppid_nr() to abstract the lookup > > of the PPID (real_parent's pid_t) of a process, including rcu locking, in the > > arbitrary and init_pid_ns. > > This provides an alternative to sys_getppid(), which is relative to the child > > process' pid namespace. > > I agree, this makes sense. > > > imho it would be better to send this patch along with sys_getppid() > conversions, but I won't argue.
I don't think sys_getppid() should be changed since it is a syscall whose userspace user would assume the working namespace. Many of the kernel internal uses of it are likely wrong though, so fixing that should probably fall under another patch. I fixed audit in another patch.
> > +static int pid_alive(const struct task_struct *p); > > +static inline pid_t task_ppid_nr_ns(const struct task_struct *tsk, struct pid_namespace *ns) > > +{ > > + pid_t pid = 0; > > + > > + rcu_read_lock(); > > + if (pid_alive(tsk)) > > + pid = task_tgid_nr_ns(rcu_dereference(tsk->real_parent), ns); > > + rcu_read_unlock(); > > + > > + return pid; > > +} > > Perhaps it should be named task_ptgid_nr_ns() or even parent_tgid_nr_ns(). > Since it returns tgid, not pid (== tid).
I like task_ptgid_nr_ns() (or maybe even task_parent_tgid_nr_ns() but that gets a bit long.
> But this is cosmetic, I won't insist. > > Oleg.
- RGB
-- Richard Guy Briggs <rbriggs@redhat.com> Senior Software Engineer, Kernel Security, AMER ENG Base Operating Systems, Red Hat Remote, Ottawa, Canada Voice: +1.647.777.2635, Internal: (81) 32635, Alt: +1.613.693.0684x3545
|  |