Re: Kernel panic during SysRq-b on Alpha

From: Andrew Morton
Date: Thu Sep 22 2005 - 01:43:38 EST


Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> On Wed, Sep 21, 2005 at 03:11:07PM +0200, Brice Goglin wrote:
> > Kernel bug at kernel/printk.c:683
> > swapper(0): Kernel Bug 1
> > pc = [<fffffc000032706c>] ra = [<fffffc00004352d4>] ps = 0007 Not
> > tainted
> > pc is at acquire_console_sem+0x2c/0x90
>
> Indeed, acquire_console_sem() does BUG() in interrupt context now,
> as in the case of SysRq-b.
>
> Ivan.
>
> --- linux/arch/alpha/kernel/process.c.orig Mon Aug 29 03:41:01 2005
> +++ linux/arch/alpha/kernel/process.c Thu Sep 22 09:51:26 2005
> @@ -127,6 +127,10 @@ common_shutdown_1(void *generic_ptr)
> /* If booted from SRM, reset some of the original environment. */
> if (alpha_using_srm) {
> #ifdef CONFIG_DUMMY_CONSOLE
> + /* If we've gotten here after SysRq-b, leave interrupt
> + context before taking over the console. */
> + if (in_interrupt())
> + irq_exit();
> /* This has the effect of resetting the VGA video origin. */
> take_over_console(&dummy_con, 0, MAX_NR_CONSOLES-1, 1);

Wow, never seen that done before. Does it actually work? For keyboard,
serial console and /proc/sysrq-trigger?

-
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/