Re: [PATCH v1 1/7] pid: Introduce helper task_is_in_root_ns()

Leon Romanovsky
2021-12-06T06:50:36Z

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
>