On Tue, 20 Mar 2007, Eric W. Biederman wrote:
> Hugh Dickins <[EMAIL PROTECTED]> writes:
> 
> > 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.
> 
> Well I'm confused I know I tested this, and I even added a printk and
> saw it trigger a couple of times.
> 
> Hmm.  Looking at the code it is clearly not safe to hold the tty_mutex
> when calling tty_vhangup.  I thought the other caller in tty_io.c was doing
> that but on a second glance it is clearly not.  And the hangup and close
> methods do seem to take the tty_mutex.
> 
> How this worked in my testing is beyond me..

I agree there's something weird about it, and wonder whether it's
exposing some other, unrelated bug e.g. something uninitialized.

What I omitted to mention is that I reliably had init hanging on
startup with my KDB kernels (on i386 UP and i386 SMP and x86_64 SMP);
but never saw my non-KDB kernels (nor my powerpc kernel) hanging
there at startup - they would hang (in the same way) at shutdown
(every time? I can't swear to that).  But I can't imagine what
KDB would have to do with it, other than shifting stuff around.

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

Reply via email to