diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-11-11 13:52:25 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-11-11 13:52:25 -0500 |
commit | 2f96cb57cde9957bac0991c712068d29364b2ac9 (patch) | |
tree | 60e3f985b9e865f3a1fdda131599fa84159cc73e /kernel/exit.c | |
parent | 09eb3b5b1bcab7b25e9dd57e90ee9753adf7afe2 (diff) | |
parent | 2002c69595a092518107f7e3c1294c9710bc92ae (diff) |
Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
sched: release buddies on yield
fix for account_group_exec_runtime(), make sure ->signal can't be freed under rq->lock
sched: clean up debug info
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 80137a5d9467..ae2b92be5fae 100644 --- a/kernel/exit.c +++ b/kernel/exit.c | |||
@@ -141,6 +141,11 @@ static void __exit_signal(struct task_struct *tsk) | |||
141 | if (sig) { | 141 | if (sig) { |
142 | flush_sigqueue(&sig->shared_pending); | 142 | flush_sigqueue(&sig->shared_pending); |
143 | taskstats_tgid_free(sig); | 143 | taskstats_tgid_free(sig); |
144 | /* | ||
145 | * Make sure ->signal can't go away under rq->lock, | ||
146 | * see account_group_exec_runtime(). | ||
147 | */ | ||
148 | task_rq_unlock_wait(tsk); | ||
144 | __cleanup_signal(sig); | 149 | __cleanup_signal(sig); |
145 | } | 150 | } |
146 | } | 151 | } |