Commit 4c2a7e72d5937c6a112141c7ff3df0727b3cf3df

Authored by Alexey Dobriyan
Committed by Linus Torvalds
1 parent dca4a97960

utsns: extract creeate_uts_ns()

create_uts_ns() will be used by C/R to create fresh uts_ns.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Acked-by: Serge Hallyn <serue@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

Showing 1 changed file with 11 additions and 2 deletions Side-by-side Diff

... ... @@ -15,6 +15,16 @@
15 15 #include <linux/err.h>
16 16 #include <linux/slab.h>
17 17  
  18 +static struct uts_namespace *create_uts_ns(void)
  19 +{
  20 + struct uts_namespace *uts_ns;
  21 +
  22 + uts_ns = kmalloc(sizeof(struct uts_namespace), GFP_KERNEL);
  23 + if (uts_ns)
  24 + kref_init(&uts_ns->kref);
  25 + return uts_ns;
  26 +}
  27 +
18 28 /*
19 29 * Clone a new ns copying an original utsname, setting refcount to 1
20 30 * @old_ns: namespace to clone
21 31  
... ... @@ -24,14 +34,13 @@
24 34 {
25 35 struct uts_namespace *ns;
26 36  
27   - ns = kmalloc(sizeof(struct uts_namespace), GFP_KERNEL);
  37 + ns = create_uts_ns();
28 38 if (!ns)
29 39 return ERR_PTR(-ENOMEM);
30 40  
31 41 down_read(&uts_sem);
32 42 memcpy(&ns->name, &old_ns->name, sizeof(ns->name));
33 43 up_read(&uts_sem);
34   - kref_init(&ns->kref);
35 44 return ns;
36 45 }
37 46