diff options
Diffstat (limited to 'kernel/exit.c')
| -rw-r--r-- | kernel/exit.c | 5 | 
1 files changed, 5 insertions, 0 deletions
diff --git a/kernel/exit.c b/kernel/exit.c index 80137a5d946..ae2b92be5fa 100644 --- a/kernel/exit.c +++ b/kernel/exit.c @@ -141,6 +141,11 @@ static void __exit_signal(struct task_struct *tsk)  	if (sig) {  		flush_sigqueue(&sig->shared_pending);  		taskstats_tgid_free(sig); +		/* +		 * Make sure ->signal can't go away under rq->lock, +		 * see account_group_exec_runtime(). +		 */ +		task_rq_unlock_wait(tsk);  		__cleanup_signal(sig);  	}  }  |