Re: [PATCH -mm] console: console_drivers not initialized

From: Andrew Morton
Date: Mon Sep 25 2006 - 17:42:36 EST


On Mon, 25 Sep 2006 14:26:21 -0700
Daniel Walker <dwalker@xxxxxxxxxx> wrote:

> On Mon, 2006-09-25 at 22:11 +0100, Russell King wrote:
> > On Mon, Sep 25, 2006 at 02:07:10PM -0700, dwalker@xxxxxxxxxx wrote:
> > > I was doing -rt stuff on a PPC PowerBook G4. It would always reboot
> > > itself when it hit console_init() .
> > >
> > > I noticed that the console code seems to want console_drivers = NULL,
> > > but it never actually sets it that way. Once I added this, the reboot
> > > issue was gone..
> >
> > It's a BSS variable, it _should_ be zeroed by the architecture's BSS
> > initialisation. If not, it suggests there's something very _very_
> > wrong in the architecture's C runtime initialisation code.
> >
> > As such, this patch is merely a band-aid, not a correct fix.
>
> It happens on two different compilers gcc 4.1 and 3.3 .. I was using
> arch/powerpc/ which is fairly new .. However, If stuff was suppose to be
> zero'd and wasn't, I'd imagine this machine would be rebooting _a lot_
> more often.
>

What Russell said. If the arch startup code isn't correctly zeroing bss
then that's pretty badly busted.

The other possibility is that something is accidentally overwriting this
variable. The explicit initialisation will cause the compiler to move this
variable into a different linker section, so now some other variable will
be getting corrupted.

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