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@xxxxxxxxxx> 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 -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html