Re: Kernel 2.4.5-ac2 OOPs when run pppd ?

Andrew Morton (andrewm@uow.edu.au)
Tue, 29 May 2001 00:19:14 +1000


Alan Cox wrote:
>
> > Yeas it is stil the same as 2.4.5-ac1, but did not
> > happen with 2.4.5; You can try running pppd in the
> > console (tty1) without any argument.
>
> Looks like an interaction with the newer console locking code. The BUG() is
> caused when the ppp code tries to write to the console from inside an
> interrupt handler [now not allowed]

I wondered if there were more cases.

In the (as-yet-unsent) Linus patch I've added an

if (in_interrupt()) {
shout_loudly();
return;
}

in three places to catch this possibility. I'll prepare
a -ac diff.

This is a fundamental problem.

- The console is a tty device
- tty devices are callable from interrupts
- the console is very stateful and needs locking
- the locking must be interrupt-safe (irqsave)
- the console is very slow.

net result: we block interrupts for ages. It's
an exceptional situation. I hope Linus buys this
line of reasoning :)

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