diff options
Diffstat (limited to 'kernel/pid.c')
| -rw-r--r-- | kernel/pid.c | 14 | 
1 files changed, 5 insertions, 9 deletions
| diff --git a/kernel/pid.c b/kernel/pid.c index 0db3e791a06..66505c1dfc5 100644 --- a/kernel/pid.c +++ b/kernel/pid.c @@ -75,6 +75,7 @@ struct pid_namespace init_pid_ns = {  		[ 0 ... PIDMAP_ENTRIES-1] = { ATOMIC_INIT(BITS_PER_PAGE), NULL }  	},  	.last_pid = 0, +	.nr_hashed = PIDNS_HASH_ADDING,  	.level = 0,  	.child_reaper = &init_task,  	.user_ns = &init_user_ns, @@ -373,14 +374,10 @@ EXPORT_SYMBOL_GPL(find_vpid);  /*   * attach_pid() must be called with the tasklist_lock write-held.   */ -void attach_pid(struct task_struct *task, enum pid_type type, -		struct pid *pid) +void attach_pid(struct task_struct *task, enum pid_type type)  { -	struct pid_link *link; - -	link = &task->pids[type]; -	link->pid = pid; -	hlist_add_head_rcu(&link->node, &pid->tasks[type]); +	struct pid_link *link = &task->pids[type]; +	hlist_add_head_rcu(&link->node, &link->pid->tasks[type]);  }  static void __change_pid(struct task_struct *task, enum pid_type type, @@ -412,7 +409,7 @@ void change_pid(struct task_struct *task, enum pid_type type,  		struct pid *pid)  {  	__change_pid(task, type, pid); -	attach_pid(task, type, pid); +	attach_pid(task, type);  }  /* transfer_pid is an optimization of attach_pid(new), detach_pid(old) */ @@ -594,7 +591,6 @@ void __init pidmap_init(void)  	/* Reserve PID 0. We never call free_pidmap(0) */  	set_bit(0, init_pid_ns.pidmap[0].page);  	atomic_dec(&init_pid_ns.pidmap[0].nr_free); -	init_pid_ns.nr_hashed = PIDNS_HASH_ADDING;  	init_pid_ns.pid_cachep = KMEM_CACHE(pid,  			SLAB_HWCACHE_ALIGN | SLAB_PANIC); | 
