From: hugh@veritas.com Date: Sat, 19 Mar 2005 05:41:52 +0000 (-0800) Subject: [PATCH] tasklist left locked X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=80f9a237983740508b1676bd56fdfd68ebe2d12d;p=thirdparty%2Fkernel%2Fstable.git [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: Hugh Dickins Acked-by: Roland McGrath Signed-off-by: Chris Wright Signed-off-by: Greg Kroah-Hartman --- diff --git a/kernel/signal.c b/kernel/signal.c index 9e87ab3f8f21f..63ae3d5843903 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -1728,6 +1728,7 @@ do_signal_stop(int signr) * with another processor delivering a stop signal, * then the SIGCONT that wakes us up should clear it. */ + read_unlock(&tasklist_lock); return 0; }