]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - kernel/ns_cgroup.c
lib/idr.c: use kmem_cache_zalloc() for the idr_layer cache
[karo-tx-linux.git] / kernel / ns_cgroup.c
index aead4d69f62b80f0cf648eb8213bc633caf6d8de..78bc3fdac0d262f019d1c1c4caee95e9c26aa147 100644 (file)
@@ -7,10 +7,12 @@
 #include <linux/module.h>
 #include <linux/cgroup.h>
 #include <linux/fs.h>
+#include <linux/proc_fs.h>
+#include <linux/slab.h>
+#include <linux/nsproxy.h>
 
 struct ns_cgroup {
        struct cgroup_subsys_state css;
-       spinlock_t lock;
 };
 
 struct cgroup_subsys ns_subsys;
@@ -22,9 +24,12 @@ static inline struct ns_cgroup *cgroup_to_ns(
                            struct ns_cgroup, css);
 }
 
-int ns_cgroup_clone(struct task_struct *task)
+int ns_cgroup_clone(struct task_struct *task, struct pid *pid)
 {
-       return cgroup_clone(task, &ns_subsys);
+       char name[PROC_NUMBUF];
+
+       snprintf(name, PROC_NUMBUF, "%d", pid_vnr(pid));
+       return cgroup_clone(task, &ns_subsys, name);
 }
 
 /*
@@ -78,7 +83,6 @@ static struct cgroup_subsys_state *ns_create(struct cgroup_subsys *ss,
        ns_cgroup = kzalloc(sizeof(*ns_cgroup), GFP_KERNEL);
        if (!ns_cgroup)
                return ERR_PTR(-ENOMEM);
-       spin_lock_init(&ns_cgroup->lock);
        return &ns_cgroup->css;
 }