2.6.21-rc4-mm1: init hangs on tty_mutex

From: Hugh Dickins
Date: Tue Mar 20 2007 - 16:46:41 EST


I get a hang at startup or shutdown: tiocsctty() holds tty_mutex, and
now with Eric's tty-in-tiocsctty-when-we-steal-a-tty-hang-it-up.patch
it can end up calling con_close(), which tries to take tty_mutex.
So best revert that in hot-fixes, until Eric provides a better.

Signed-off-by: Hugh Dickins <hugh@xxxxxxxxxxx>

--- 2.6.21-rc4-mm1/drivers/char/tty_io.c 2007-03-20 12:49:34.000000000 +0000
+++ linux/drivers/char/tty_io.c 2007-03-20 18:14:53.000000000 +0000
@@ -2980,7 +2980,9 @@ static int tiocsctty(struct tty_struct *
/*
* Steal it away
*/
- tty_vhangup(tty);
+ read_lock(&tasklist_lock);
+ session_clear_tty(tty->session);
+ read_unlock(&tasklist_lock);
} else {
ret = -EPERM;
goto unlock;
-
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/