|
@@ -35,6 +35,7 @@ struct new_utsname {
|
|
|
#include <linux/sched.h>
|
|
|
#include <linux/kref.h>
|
|
|
#include <linux/nsproxy.h>
|
|
|
+#include <linux/err.h>
|
|
|
#include <asm/atomic.h>
|
|
|
|
|
|
struct uts_namespace {
|
|
@@ -43,6 +44,7 @@ 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);
|
|
@@ -56,6 +58,25 @@ 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 uts_namespace *ns)
|
|
|
+{
|
|
|
+ if (flags & CLONE_NEWUTS)
|
|
|
+ return ERR_PTR(-EINVAL);
|
|
|
+
|
|
|
+ return ns;
|
|
|
+}
|
|
|
+#endif
|
|
|
+
|
|
|
static inline struct new_utsname *utsname(void)
|
|
|
{
|
|
|
return ¤t->nsproxy->uts_ns->name;
|