On Wed 10-09-25 16:36:50, Christian Brauner wrote:
> And move the stuff out from proc_ns.h where it really doesn't belong.
>
> Signed-off-by: Christian Brauner <brauner@kernel.org>
Looks sensible. Feel free to add:
Reviewed-by: Jan Kara <jack@suse.cz>
Honza
> ---
> include/linux/nsfs.h | 26 ++++++++++++++++++++++++++
> include/linux/proc_ns.h | 13 +------------
> 2 files changed, 27 insertions(+), 12 deletions(-)
>
> diff --git a/include/linux/nsfs.h b/include/linux/nsfs.h
> new file mode 100644
> index 000000000000..fb84aa538091
> --- /dev/null
> +++ b/include/linux/nsfs.h
> @@ -0,0 +1,26 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +/* Copyright (c) 2025 Christian Brauner <brauner@kernel.org> */
> +
> +#ifndef _LINUX_NSFS_H
> +#define _LINUX_NSFS_H
> +
> +#include <linux/ns_common.h>
> +
> +struct path;
> +struct task_struct;
> +struct proc_ns_operations;
> +
> +int ns_get_path(struct path *path, struct task_struct *task,
> + const struct proc_ns_operations *ns_ops);
> +typedef struct ns_common *ns_get_path_helper_t(void *);
> +int ns_get_path_cb(struct path *path, ns_get_path_helper_t ns_get_cb,
> + void *private_data);
> +
> +bool ns_match(const struct ns_common *ns, dev_t dev, ino_t ino);
> +
> +int ns_get_name(char *buf, size_t size, struct task_struct *task,
> + const struct proc_ns_operations *ns_ops);
> +void nsfs_init(void);
> +
> +#endif /* _LINUX_NSFS_H */
> +
> diff --git a/include/linux/proc_ns.h b/include/linux/proc_ns.h
> index 4b20375f3783..5e1a4b378b79 100644
> --- a/include/linux/proc_ns.h
> +++ b/include/linux/proc_ns.h
> @@ -5,7 +5,7 @@
> #ifndef _LINUX_PROC_NS_H
> #define _LINUX_PROC_NS_H
>
> -#include <linux/ns_common.h>
> +#include <linux/nsfs.h>
> #include <uapi/linux/nsfs.h>
>
> struct pid_namespace;
> @@ -75,16 +75,5 @@ static inline int ns_alloc_inum(struct ns_common *ns)
> #define ns_free_inum(ns) proc_free_inum((ns)->inum)
>
> #define get_proc_ns(inode) ((struct ns_common *)(inode)->i_private)
> -extern int ns_get_path(struct path *path, struct task_struct *task,
> - const struct proc_ns_operations *ns_ops);
> -typedef struct ns_common *ns_get_path_helper_t(void *);
> -extern int ns_get_path_cb(struct path *path, ns_get_path_helper_t ns_get_cb,
> - void *private_data);
> -
> -extern bool ns_match(const struct ns_common *ns, dev_t dev, ino_t ino);
> -
> -extern int ns_get_name(char *buf, size_t size, struct task_struct *task,
> - const struct proc_ns_operations *ns_ops);
> -extern void nsfs_init(void);
>
> #endif /* _LINUX_PROC_NS_H */
>
> --
> 2.47.3
>
--
Jan Kara <jack@suse.com>
SUSE Labs, CR