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 c0711da15486..16eda9b39f8d 100644 --- a/kernel/exit.c +++ b/kernel/exit.c | |||
@@ -143,6 +143,11 @@ static void __exit_signal(struct task_struct *tsk) | |||
143 | if (sig) { | 143 | if (sig) { |
144 | flush_sigqueue(&sig->shared_pending); | 144 | flush_sigqueue(&sig->shared_pending); |
145 | taskstats_tgid_free(sig); | 145 | taskstats_tgid_free(sig); |
146 | /* | ||
147 | * Make sure ->signal can't go away under rq->lock, | ||
148 | * see account_group_exec_runtime(). | ||
149 | */ | ||
150 | task_rq_unlock_wait(tsk); | ||
146 | __cleanup_signal(sig); | 151 | __cleanup_signal(sig); |
147 | } | 152 | } |
148 | } | 153 | } |