Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+2 −6
Original line number Original line Diff line number Diff line
@@ -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;