diff options
Diffstat (limited to 'kernel/fork.c')
| -rw-r--r-- | kernel/fork.c | 15 | 
1 files changed, 10 insertions, 5 deletions
| diff --git a/kernel/fork.c b/kernel/fork.c index 1415dc4598ae..5b2959b3ffc2 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -939,9 +939,9 @@ SYSCALL_DEFINE1(set_tid_address, int __user *, tidptr)  static void rt_mutex_init_task(struct task_struct *p)  { -	spin_lock_init(&p->pi_lock); +	raw_spin_lock_init(&p->pi_lock);  #ifdef CONFIG_RT_MUTEXES -	plist_head_init(&p->pi_waiters, &p->pi_lock); +	plist_head_init_raw(&p->pi_waiters, &p->pi_lock);  	p->pi_blocked_on = NULL;  #endif  } @@ -1127,6 +1127,10 @@ static struct task_struct *copy_process(unsigned long clone_flags,  #ifdef CONFIG_DEBUG_MUTEXES  	p->blocked_on = NULL; /* not blocked yet */  #endif +#ifdef CONFIG_CGROUP_MEM_RES_CTLR +	p->memcg_batch.do_batch = 0; +	p->memcg_batch.memcg = NULL; +#endif  	p->bts = NULL; @@ -1206,9 +1210,10 @@ static struct task_struct *copy_process(unsigned long clone_flags,  		p->sas_ss_sp = p->sas_ss_size = 0;  	/* -	 * Syscall tracing should be turned off in the child regardless -	 * of CLONE_PTRACE. +	 * Syscall tracing and stepping should be turned off in the +	 * child regardless of CLONE_PTRACE.  	 */ +	user_disable_single_step(p);  	clear_tsk_thread_flag(p, TIF_SYSCALL_TRACE);  #ifdef TIF_SYSCALL_EMU  	clear_tsk_thread_flag(p, TIF_SYSCALL_EMU); @@ -1286,7 +1291,6 @@ static struct task_struct *copy_process(unsigned long clone_flags,  	}  	if (likely(p->pid)) { -		list_add_tail(&p->sibling, &p->real_parent->children);  		tracehook_finish_clone(p, clone_flags, trace);  		if (thread_group_leader(p)) { @@ -1298,6 +1302,7 @@ static struct task_struct *copy_process(unsigned long clone_flags,  			p->signal->tty = tty_kref_get(current->signal->tty);  			attach_pid(p, PIDTYPE_PGID, task_pgrp(current));  			attach_pid(p, PIDTYPE_SID, task_session(current)); +			list_add_tail(&p->sibling, &p->real_parent->children);  			list_add_tail_rcu(&p->tasks, &init_task.tasks);  			__get_cpu_var(process_counts)++;  		} | 
