projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
thp: update futex compound knowledge
[firefly-linux-kernel-4.4.55.git]
/
kernel
/
utsname.c
diff --git
a/kernel/utsname.c
b/kernel/utsname.c
index 815237a55af8f277b43aea2c81471b9c05a4d00d..8a82b4b8ea52cb3690e25bf039eaf32ff5c8c079 100644
(file)
--- a/
kernel/utsname.c
+++ b/
kernel/utsname.c
@@
-15,6
+15,16
@@
#include <linux/err.h>
#include <linux/slab.h>
#include <linux/err.h>
#include <linux/slab.h>
+static struct uts_namespace *create_uts_ns(void)
+{
+ struct uts_namespace *uts_ns;
+
+ uts_ns = kmalloc(sizeof(struct uts_namespace), GFP_KERNEL);
+ if (uts_ns)
+ kref_init(&uts_ns->kref);
+ return uts_ns;
+}
+
/*
* Clone a new ns copying an original utsname, setting refcount to 1
* @old_ns: namespace to clone
/*
* Clone a new ns copying an original utsname, setting refcount to 1
* @old_ns: namespace to clone
@@
-24,14
+34,13
@@
static struct uts_namespace *clone_uts_ns(struct uts_namespace *old_ns)
{
struct uts_namespace *ns;
{
struct uts_namespace *ns;
- ns =
kmalloc(sizeof(struct uts_namespace), GFP_KERNEL
);
+ ns =
create_uts_ns(
);
if (!ns)
return ERR_PTR(-ENOMEM);
down_read(&uts_sem);
memcpy(&ns->name, &old_ns->name, sizeof(ns->name));
up_read(&uts_sem);
if (!ns)
return ERR_PTR(-ENOMEM);
down_read(&uts_sem);
memcpy(&ns->name, &old_ns->name, sizeof(ns->name));
up_read(&uts_sem);
- kref_init(&ns->kref);
return ns;
}
return ns;
}