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: Pavel Emelyanov <xemul@openvz.org> Cc: Balbir Singh <balbir@in.ibm.com> Cc: "Eric W. Biederman" <ebiederm@xmission.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
081e4c8a75
commit
84406c153a
1 changed files with 2 additions and 6 deletions
|
@ -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)
|
||||||
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;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue