[coreboot] [PATCH] Fix v3 GeodeLX stack and global variable pointer corruption

Peter Stuge peter at stuge.se
Wed Oct 8 18:13:04 CEST 2008


Carl-Daniel Hailfinger wrote:
> > Can you explain what, if any, effect this bug had or could have
> > had in practice?
> 
> Sure.
> 1.) If gcc had decided to reload bist from stack after initializing the
> global variable pointer, bist would have been nonzero, an indicator for
> processor failure.
> 2.) If gcc had decided to use the stack location of bist as a scratch
> register (and it probably is free to do so as long as the contents are
> restored before returning), it would have clobbered the global variable
> pointer, leading to NULL pointer dereferences.
> 3.) Any accesses to init_detected would have resulted in accessing 4
> bytes above the top of stack (0x87ffc-0x87fff), something the rest of
> the code deliberately avoids.

Thanks! If you add the above to the commit message I say:

Acked-by: Peter Stuge <peter at stuge.se>




More information about the coreboot mailing list