|
@@ -71,7 +71,7 @@ static struct pid_namespace *create_pid_namespace(unsigned int level)
|
|
|
struct pid_namespace *ns;
|
|
|
int i;
|
|
|
|
|
|
- ns = kmem_cache_alloc(pid_ns_cachep, GFP_KERNEL);
|
|
|
+ ns = kmem_cache_zalloc(pid_ns_cachep, GFP_KERNEL);
|
|
|
if (ns == NULL)
|
|
|
goto out;
|
|
|
|
|
@@ -84,17 +84,13 @@ static struct pid_namespace *create_pid_namespace(unsigned int level)
|
|
|
goto out_free_map;
|
|
|
|
|
|
kref_init(&ns->kref);
|
|
|
- ns->last_pid = 0;
|
|
|
- ns->child_reaper = NULL;
|
|
|
ns->level = level;
|
|
|
|
|
|
set_bit(0, ns->pidmap[0].page);
|
|
|
atomic_set(&ns->pidmap[0].nr_free, BITS_PER_PAGE - 1);
|
|
|
|
|
|
- for (i = 1; i < PIDMAP_ENTRIES; i++) {
|
|
|
- ns->pidmap[i].page = NULL;
|
|
|
+ for (i = 1; i < PIDMAP_ENTRIES; i++)
|
|
|
atomic_set(&ns->pidmap[i].nr_free, BITS_PER_PAGE);
|
|
|
- }
|
|
|
|
|
|
return ns;
|
|
|
|