Re: [PATCH] printk: fix discarding message when recursion_bug

From: Ingo Molnar
Date: Fri Dec 19 2008 - 17:36:32 EST



* Hiroshi Shimamoto <h-shimamoto@xxxxxxxxxxxxx> wrote:

> Ingo Molnar wrote:
> > * Hiroshi Shimamoto <h-shimamoto@xxxxxxxxxxxxx> wrote:
> >
> >> From: Hiroshi Shimamoto <h-shimamoto@xxxxxxxxxxxxx>
> >>
> >> Impact: fix
> >>
> >> When recursion_bug is true, kernel discards original message because printk_buf
> >> contains recursion_bug_msg with NULL terminator. The sizeof(recursion_bug_msg)
> >> makes this, use strlen() to get correct length without NULL terminator.
> >>
> >> Reported-by: Toshikazu Nakayama <nakayama.ts@xxxxxxxxxxxxxx>
> >> Signed-off-by: Hiroshi Shimamoto <h-shimamoto@xxxxxxxxxxxxx>
> >> ---
> >> kernel/printk.c | 2 +-
> >> 1 files changed, 1 insertions(+), 1 deletions(-)
> >
> > Good one - applied to tip/core/printk, thanks!
> >
> > Btw., i'm curious: in what situation was such recursion observed, and how
> > did the kernel behave? You saw a truncated recursion message in dmesg - or
> > was it worse?
>
> I'm not sure about the real situation. I've heard this issue was found
> in printing messages in NMI handler, maybe with artificial kernel stuck.

yeah, accidental NMI recursion back into printk could indeed cause the
recursion message to pop up.

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