diff options
Diffstat (limited to 'include/linux/utsname.h')
| -rw-r--r-- | include/linux/utsname.h | 50 |
1 files changed, 4 insertions, 46 deletions
diff --git a/include/linux/utsname.h b/include/linux/utsname.h index 239e27733d6c..547bd4439706 100644 --- a/include/linux/utsname.h +++ b/include/linux/utsname.h @@ -1,14 +1,16 @@ +/* SPDX-License-Identifier: GPL-2.0 */ #ifndef _LINUX_UTSNAME_H #define _LINUX_UTSNAME_H #include <linux/sched.h> -#include <linux/kref.h> #include <linux/nsproxy.h> +#include <linux/ns_common.h> #include <linux/err.h> -#include <uapi/linux/utsname.h> +#include <linux/uts_namespace.h> enum uts_proc { + UTS_PROC_ARCH, UTS_PROC_OSTYPE, UTS_PROC_OSRELEASE, UTS_PROC_VERSION, @@ -16,50 +18,6 @@ enum uts_proc { UTS_PROC_DOMAINNAME, }; -struct user_namespace; -extern struct user_namespace init_user_ns; - -struct uts_namespace { - struct kref kref; - struct new_utsname name; - struct user_namespace *user_ns; - unsigned int proc_inum; -}; -extern struct uts_namespace init_uts_ns; - -#ifdef CONFIG_UTS_NS -static inline void get_uts_ns(struct uts_namespace *ns) -{ - kref_get(&ns->kref); -} - -extern struct uts_namespace *copy_utsname(unsigned long flags, - struct user_namespace *user_ns, struct uts_namespace *old_ns); -extern void free_uts_ns(struct kref *kref); - -static inline void put_uts_ns(struct uts_namespace *ns) -{ - kref_put(&ns->kref, free_uts_ns); -} -#else -static inline void get_uts_ns(struct uts_namespace *ns) -{ -} - -static inline void put_uts_ns(struct uts_namespace *ns) -{ -} - -static inline struct uts_namespace *copy_utsname(unsigned long flags, - struct user_namespace *user_ns, struct uts_namespace *old_ns) -{ - if (flags & CLONE_NEWUTS) - return ERR_PTR(-EINVAL); - - return old_ns; -} -#endif - #ifdef CONFIG_PROC_SYSCTL extern void uts_proc_notify(enum uts_proc proc); #else |
