[PATCH 05/32] nsfs: add nsfs.h header

Christian Brauner posted 32 patches 9 hours ago
[PATCH 05/32] nsfs: add nsfs.h header
Posted by Christian Brauner 9 hours ago
And move the stuff out from proc_ns.h where it really doesn't belong.

Signed-off-by: Christian Brauner <brauner@kernel.org>
---
 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
Re: [PATCH 05/32] nsfs: add nsfs.h header
Posted by Jan Kara 8 hours ago
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