Commit 84406c15 authored by Pavel Emelyanov's avatar Pavel Emelyanov Committed by Linus Torvalds

pidns: use kzalloc when allocating new pid_namespace struct

It makes many fields initialization implicit helping in auto-setting
#ifdef-ed fields (bsd-acct related pointer will be such).
Signed-off-by: default avatarPavel Emelyanov <xemul@openvz.org>
Cc: Balbir Singh <balbir@in.ibm.com>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 081e4c8a
...@@ -71,7 +71,7 @@ static struct pid_namespace *create_pid_namespace(unsigned int level) ...@@ -71,7 +71,7 @@ static struct pid_namespace *create_pid_namespace(unsigned int level)
struct pid_namespace *ns; struct pid_namespace *ns;
int i; int i;
ns = kmem_cache_alloc(pid_ns_cachep, GFP_KERNEL); ns = kmem_cache_zalloc(pid_ns_cachep, GFP_KERNEL);
if (ns == NULL) if (ns == NULL)
goto out; goto out;
...@@ -84,17 +84,13 @@ static struct pid_namespace *create_pid_namespace(unsigned int level) ...@@ -84,17 +84,13 @@ static struct pid_namespace *create_pid_namespace(unsigned int level)
goto out_free_map; goto out_free_map;
kref_init(&ns->kref); kref_init(&ns->kref);
ns->last_pid = 0;
ns->child_reaper = NULL;
ns->level = level; ns->level = level;
set_bit(0, ns->pidmap[0].page); set_bit(0, ns->pidmap[0].page);
atomic_set(&ns->pidmap[0].nr_free, BITS_PER_PAGE - 1); atomic_set(&ns->pidmap[0].nr_free, BITS_PER_PAGE - 1);
for (i = 1; i < PIDMAP_ENTRIES; i++) { for (i = 1; i < PIDMAP_ENTRIES; i++)
ns->pidmap[i].page = NULL;
atomic_set(&ns->pidmap[i].nr_free, BITS_PER_PAGE); atomic_set(&ns->pidmap[i].nr_free, BITS_PER_PAGE);
}
return ns; return ns;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment