Re: 2.6.11.7 kernel panic on boot on AMD64

Andi Kleen
2005-04-29T14:36:53Z

On Fri, Apr 29, 2005 at 01:45:59PM +0200, Alexander Nyberg wrote:
> fre 2005-04-29 klockan 03:10 -0700 skrev Andrew Morton:
> > Alexander Nyberg <alexn@telia.com> wrote:
> > >
> > > >
> > > > I'm trying to install linux on an HP DL385 but directly on boot I got
> > > > this kernel panic:
> > > >
> > > > http://www.puettmann.net/temp/panic.jpg
> > >
> > >
> > > This is bogus appending stuff to the saved_command_line and at the same
> > > time in Rubens case it touches the late_time_init() which breakes havoc.
> >
> > -ETOOTERSE. Do you meen that the user's command line was so long that this
> > strcat wandered off the end of the buffer and corrupted late_time_init?
>
> Yes indeed, 256 chars has now really been proven to not be long enough.

So the user had really 256 characters command line? That is hard to
believe because afaik most boot loaders cannot even pass that much.

>
> >
> > > Signed-off-by: Alexander Nyberg <alexn@telia.com>
> > >
> > > Index: linux-2.6/arch/x86_64/kernel/head64.c
> > > ===================================================================
> > > --- linux-2.6.orig/arch/x86_64/kernel/head64.c 2005-04-26 11:41:43.000000000 +0200
> > > +++ linux-2.6/arch/x86_64/kernel/head64.c 2005-04-29 11:57:46.000000000 +0200
> > > @@ -93,9 +93,6 @@
> > > #ifdef CONFIG_SMP
> > > cpu_set(0, cpu_online_map);
> > > #endif
> > > - /* default console: */
> > > - if (!strstr(saved_command_line, "console="))
> > > - strcat(saved_command_line, " console=tty0");
> >
> > Wasn't that code there for a reason?
>
> Appending console=tty0 is from what I can see redundant. And if it
> really has a reason it needs a comment and a check to see if there
> really is room in saved_command_line for it. We'll see what Andi has to
> say...

It was needed long ago (in 2.5) to work around bugs in the console subsystem.
It is probably not needed anymore. It can be dropped.

>
> btw x64 is seemingly the only architecture that actually uses
> saved_command_line as the real working command line and not
> command_line, this is a bit confusing.

I have no problem with changing it if someone sends a patch.

-Andi