Message ID | 20211205145105.57824-2-leo.yan@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | pid: Introduce helper task_is_in_root_ns() | expand |
On Sun, Dec 05, 2021 at 10:50:59PM +0800, Leo Yan wrote: > Currently the kernel uses open code in multiple places to check if a > task is in the root PID namespace with the kind of format: > > if (task_active_pid_ns(current) == &init_pid_ns) > do_something(); > > This patch creates a new helper function, task_is_in_root_ns(), it > returns true if a passed task is in the root PID namespace, otherwise > returns false. So it will be used to replace open codes. > > Suggested-by: Suzuki K Poulose <suzuki.poulose@arm.com> > Signed-off-by: Leo Yan <leo.yan@linaro.org> > --- > include/linux/pid_namespace.h | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/include/linux/pid_namespace.h b/include/linux/pid_namespace.h > index 7c7e627503d2..bf82b373f022 100644 > --- a/include/linux/pid_namespace.h > +++ b/include/linux/pid_namespace.h > @@ -86,4 +86,9 @@ extern struct pid_namespace *task_active_pid_ns(struct task_struct *tsk); > void pidhash_init(void); > void pid_idr_init(void); > > +static inline bool task_is_in_root_ns(struct task_struct *tsk) It is bad that this name doesn't reflect PID nature of this namespace. Won't it better to name it task_is_in_init_pid_ns()? Thanks > +{ > + return task_active_pid_ns(tsk) == &init_pid_ns; > +} > + > #endif /* _LINUX_PID_NS_H */ > -- > 2.25.1 >
Hi Leon, On Mon, Dec 06, 2021 at 08:49:01AM +0200, Leon Romanovsky wrote: > On Sun, Dec 05, 2021 at 10:50:59PM +0800, Leo Yan wrote: [...] > > +static inline bool task_is_in_root_ns(struct task_struct *tsk) > > It is bad that this name doesn't reflect PID nature of this namespace. > Won't it better to name it task_is_in_init_pid_ns()? Yes, task_is_in_init_pid_ns() is more clear. Will respin for this. Thank you for suggestion! Leo
On Mon, Dec 06, 2021 at 03:03:58PM +0800, Leo Yan wrote: > Hi Leon, > > On Mon, Dec 06, 2021 at 08:49:01AM +0200, Leon Romanovsky wrote: > > On Sun, Dec 05, 2021 at 10:50:59PM +0800, Leo Yan wrote: > > [...] > > > > +static inline bool task_is_in_root_ns(struct task_struct *tsk) > > > > It is bad that this name doesn't reflect PID nature of this namespace. > > Won't it better to name it task_is_in_init_pid_ns()? > > Yes, task_is_in_init_pid_ns() is more clear. > > Will respin for this. Thank you for suggestion! Thanks > > Leo
diff --git a/include/linux/pid_namespace.h b/include/linux/pid_namespace.h index 7c7e627503d2..bf82b373f022 100644 --- a/include/linux/pid_namespace.h +++ b/include/linux/pid_namespace.h @@ -86,4 +86,9 @@ extern struct pid_namespace *task_active_pid_ns(struct task_struct *tsk); void pidhash_init(void); void pid_idr_init(void); +static inline bool task_is_in_root_ns(struct task_struct *tsk) +{ + return task_active_pid_ns(tsk) == &init_pid_ns; +} + #endif /* _LINUX_PID_NS_H */
Currently the kernel uses open code in multiple places to check if a task is in the root PID namespace with the kind of format: if (task_active_pid_ns(current) == &init_pid_ns) do_something(); This patch creates a new helper function, task_is_in_root_ns(), it returns true if a passed task is in the root PID namespace, otherwise returns false. So it will be used to replace open codes. Suggested-by: Suzuki K Poulose <suzuki.poulose@arm.com> Signed-off-by: Leo Yan <leo.yan@linaro.org> --- include/linux/pid_namespace.h | 5 +++++ 1 file changed, 5 insertions(+)