[6/9] tasklist left locked

From: Chris Wright
Date: Wed Mar 16 2005 - 19:25:46 EST


-stable review patch. If anyone has any objections, please let us know.

----

From: Hugh Dickins <hugh@xxxxxxxxxxx>

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 <hugh@xxxxxxxxxxx>
Acked-by: Roland McGrath <roland@xxxxxxxxxx>
Signed-off-by: Chris Wright <chrisw@xxxxxxxx>

--- 2.6.11/kernel/signal.c 2005-03-02 07:38:56.000000000 +0000
+++ linux/kernel/signal.c 2005-03-16 18:10:17.000000000 +0000
@@ -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;
}

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/