Re: [RFC PATCH -tip 00/16] in-kernel x86 disassember

From: Ingo Molnar
Date: Tue Apr 03 2012 - 03:31:47 EST



* H. Peter Anvin <hpa@xxxxxxxxx> wrote:

> On 04/01/2012 09:02 AM, Masami Hiramatsu wrote:
> > Hi,
> >
> > Here is a series of patches of the in-kernel x86 disassembler
> > for the latest tip tree.
> > This will show you a pretty disassembled code instead of
> > just a digital code sequence when you gets a kernel panic etc.
> > (I know, we also have script/decodecode for the panic use)
> >
> > This feature is not for users, but mainly for kernel developers
> > who can understand disassembly code of x86 ;). This is just like
> > a joke feature in kernel. (yeah, I spend my spare time for this.
> > It's my fun :))
> >
>
> This is cool, but I have one major reservation about it: it
> will make kernel panics take a lot more screen real estate
> without containing more information, and we already have
> problems with things scrolling off way too easily.

Yes, I'm not sure we want to do it by default.

> For that reason I would like to request that this *only*
> enabled by an explicit command-line option or similar
> (disasm_oops, maybe?), so that the user has to opt-in.

The existing oops setup knob is an early_param() in
kernel/panic.c, "oops=".

I'd suggesting extending that in an obvious way. Currently the
only option that exists is "oops=panic", so a comma delimited
list of attributes would be the natural extension, allowing:

oops=panic
oops=panic,disasm
oops=disasm

Detail: it should do a strncmp(5, str, "disas"), so that every
usual variant works: oops=disasm, oops=disassemble, etc.

> [...] In other words, if *you* are debugging your own kernel,
> and don't expect to ship oopses off to someone else.

Probably a DEBUG .config option as well, so that distros can
enable it. OTOH, CONFIG_CMDLINE allows the setting of such
parameters as well.

Thanks,

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/