diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/utsname.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/include/linux/utsname.h b/include/linux/utsname.h index 923db99175f2..11232676bfff 100644 --- a/include/linux/utsname.h +++ b/include/linux/utsname.h | |||
@@ -35,6 +35,7 @@ struct new_utsname { | |||
35 | #include <linux/sched.h> | 35 | #include <linux/sched.h> |
36 | #include <linux/kref.h> | 36 | #include <linux/kref.h> |
37 | #include <linux/nsproxy.h> | 37 | #include <linux/nsproxy.h> |
38 | #include <linux/err.h> | ||
38 | #include <asm/atomic.h> | 39 | #include <asm/atomic.h> |
39 | 40 | ||
40 | struct uts_namespace { | 41 | struct uts_namespace { |
@@ -43,6 +44,7 @@ struct uts_namespace { | |||
43 | }; | 44 | }; |
44 | extern struct uts_namespace init_uts_ns; | 45 | extern struct uts_namespace init_uts_ns; |
45 | 46 | ||
47 | #ifdef CONFIG_UTS_NS | ||
46 | static inline void get_uts_ns(struct uts_namespace *ns) | 48 | static inline void get_uts_ns(struct uts_namespace *ns) |
47 | { | 49 | { |
48 | kref_get(&ns->kref); | 50 | kref_get(&ns->kref); |
@@ -56,6 +58,25 @@ static inline void put_uts_ns(struct uts_namespace *ns) | |||
56 | { | 58 | { |
57 | kref_put(&ns->kref, free_uts_ns); | 59 | kref_put(&ns->kref, free_uts_ns); |
58 | } | 60 | } |
61 | #else | ||
62 | static inline void get_uts_ns(struct uts_namespace *ns) | ||
63 | { | ||
64 | } | ||
65 | |||
66 | static inline void put_uts_ns(struct uts_namespace *ns) | ||
67 | { | ||
68 | } | ||
69 | |||
70 | static inline struct uts_namespace *copy_utsname(unsigned long flags, | ||
71 | struct uts_namespace *ns) | ||
72 | { | ||
73 | if (flags & CLONE_NEWUTS) | ||
74 | return ERR_PTR(-EINVAL); | ||
75 | |||
76 | return ns; | ||
77 | } | ||
78 | #endif | ||
79 | |||
59 | static inline struct new_utsname *utsname(void) | 80 | static inline struct new_utsname *utsname(void) |
60 | { | 81 | { |
61 | return ¤t->nsproxy->uts_ns->name; | 82 | return ¤t->nsproxy->uts_ns->name; |