xref: /linux/include/linux/mnt_namespace.h (revision 18b19abc3709b109676ffd1f48dcd332c2e477d4)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _NAMESPACE_H_
3 #define _NAMESPACE_H_
4 #ifdef __KERNEL__
5 
6 #include <linux/cleanup.h>
7 #include <linux/err.h>
8 
9 struct mnt_namespace;
10 struct fs_struct;
11 struct user_namespace;
12 struct ns_common;
13 
14 extern struct mnt_namespace init_mnt_ns;
15 
16 extern struct mnt_namespace *copy_mnt_ns(u64, struct mnt_namespace *,
17 		struct user_namespace *, struct fs_struct *);
18 extern void put_mnt_ns(struct mnt_namespace *ns);
19 DEFINE_FREE(put_mnt_ns, struct mnt_namespace *, if (!IS_ERR_OR_NULL(_T)) put_mnt_ns(_T))
20 extern struct ns_common *from_mnt_ns(struct mnt_namespace *);
21 
22 extern const struct file_operations proc_mounts_operations;
23 extern const struct file_operations proc_mountinfo_operations;
24 extern const struct file_operations proc_mountstats_operations;
25 
26 #endif
27 #endif
28