Re: [Patch] 2.4.28-pre3 tty/ldisc fixes

From: Sergey Vlasov
Date: Thu Oct 28 2004 - 13:47:42 EST


On Fri, 24 Sep 2004 13:49:33 -0400, Jason Baron wrote:

> Here is a first attempt at bringing Alan's 2.6 tty/ldisc fixes to 2.4.
> I've done some testing with it, but was hoping for broader
> testing/feedback while all the issues get ironed out. The most notable
> change is the addition of a wakeup at the end of tty_set_ldisc, for
> threads waiting for the TTY_LDISC bit to be set.

> +
> + /* Defer ldisc switch */
> + /* tty_deferred_ldisc_switch(N_TTY);
> +
> read_lock(&tasklist_lock);
> for_each_task(p) {
> if ((tty->session > 0) && (p->session == tty->session) &&

Here the comment is unclosed; is this intentional? Simply closing it
at the same line gives a kernel which cannot complete the system boot
process: it prints "init_dev but no ldisc", and then init hangs in
uninterruptible sleep with this backtrace:

Adhoc c0188ab7 <tty_ldisc_ref_wait+47/80>
Adhoc c0199c30 <con_write+0/30>
Adhoc c0189648 <tty_write+118/270>
Adhoc c0139728 <chrdev_open+38/50>
Adhoc c01386e3 <dentry_open+e3/190>
Adhoc c0138f16 <sys_write+96/f0>
Adhoc c01385eb <filp_open+4b/60>
Adhoc c014246f <getname+5f/a0>
Adhoc c0138937 <sys_open+57/80>

Attachment: pgp00000.pgp
Description: PGP signature