On 11/27/2010 09:50 AM, Jiri Slaby wrote: > On 11/27/2010 03:59 AM, Kyle McMartin wrote: >> I'm poking around to see, I think maybe something might be dropping >> locks in the callchain that gives us a window where this might be >> possible... > > Of course, that's the case: > clear_bit(TTY_LDISC, &tty->flags); > tty_unlock(); > cancel_delayed_work_sync(&tty->buf.work); > mutex_unlock(&tty->ldisc_mutex); > > tty_lock(); > mutex_lock(&tty->ldisc_mutex); > > in tty_ldisc_hangup. Hence my point 1) from previous posts doesn't hold too: > 1) __tty_hangup from tty_ldisc_hangup to tty_ldisc_enable. During this > section tty_lock is held. > > I will check, how to fix this. Reproducible with 2 running processes from the attachment. regards, -- js suse labs