Commit a1c86154 authored by Hugh Dickins's avatar Hugh Dickins Committed by Greg Kroah-Hartman

[PATCH] tasklist left locked

On 4-way SMP, about one reboot in twenty hangs while killing processes:
exit needs exclusive tasklist_lock, but something still holds read_lock.
do_signal_stop race case misses unlock, and fixing it fixes the symptom.
Signed-off-by: default avatarHugh Dickins <hugh@veritas.com>
Acked-by: default avatarRoland McGrath <roland@redhat.com>
Signed-off-by: default avatarChris Wright <chrisw@osdl.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent d37d0fb8
...@@ -1728,6 +1728,7 @@ do_signal_stop(int signr) ...@@ -1728,6 +1728,7 @@ do_signal_stop(int signr)
* with another processor delivering a stop signal, * with another processor delivering a stop signal,
* then the SIGCONT that wakes us up should clear it. * then the SIGCONT that wakes us up should clear it.
*/ */
read_unlock(&tasklist_lock);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment