X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Flinux%2Futsname.h;h=11232676bfff59af017b4b3343c67dc430004c4b;hb=e8938a62a85d1f487e02c3b01955b47c9598f6d2;hp=e10267d402c5b982d46869d1c4f49345081b7f5c;hpb=0bce0b7a3b25b33220be77dcaf3dc4585641100c;p=firefly-linux-kernel-4.4.55.git diff --git a/include/linux/utsname.h b/include/linux/utsname.h index e10267d402c5..11232676bfff 100644 --- a/include/linux/utsname.h +++ b/include/linux/utsname.h @@ -35,6 +35,7 @@ struct new_utsname { #include #include #include +#include #include struct uts_namespace { @@ -43,15 +44,14 @@ struct uts_namespace { }; 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); } -#ifdef CONFIG_UTS_NS -extern int unshare_utsname(unsigned long unshare_flags, - struct uts_namespace **new_uts); -extern int copy_utsname(int flags, struct task_struct *tsk); +extern struct uts_namespace *copy_utsname(unsigned long flags, + struct uts_namespace *ns); extern void free_uts_ns(struct kref *kref); static inline void put_uts_ns(struct uts_namespace *ns) @@ -59,23 +59,21 @@ static inline void put_uts_ns(struct uts_namespace *ns) kref_put(&ns->kref, free_uts_ns); } #else -static inline int unshare_utsname(unsigned long unshare_flags, - struct uts_namespace **new_uts) +static inline void get_uts_ns(struct uts_namespace *ns) { - if (unshare_flags & CLONE_NEWUTS) - return -EINVAL; - - return 0; } -static inline int copy_utsname(int flags, struct task_struct *tsk) +static inline void put_uts_ns(struct uts_namespace *ns) { - if (flags & CLONE_NEWUTS) - return -EINVAL; - return 0; } -static inline void put_uts_ns(struct uts_namespace *ns) + +static inline struct uts_namespace *copy_utsname(unsigned long flags, + struct uts_namespace *ns) { + if (flags & CLONE_NEWUTS) + return ERR_PTR(-EINVAL); + + return ns; } #endif