Make sure we populate the initroot filesystem late enough

David Woodhouse dwmw2 at infradead.org
Mon Feb 26 11:00:57 EST 2007


On Mon, 2006-12-11 at 20:59 +0000, Linux Kernel Mailing List wrote:
> Gitweb:     http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8d610dd52dd1da696e199e4b4545f33a2a5de5c6
> Commit:     8d610dd52dd1da696e199e4b4545f33a2a5de5c6
> Parent:     8993780a6e44fb4e7ed34e33458506a775356c6e
> Author:     Linus Torvalds <torvalds at woody.osdl.org>
> AuthorDate: Mon Dec 11 12:12:04 2006 -0800
> Committer:  Linus Torvalds <torvalds at woody.osdl.org>
> CommitDate: Mon Dec 11 12:12:04 2006 -0800
> 
>     Make sure we populate the initroot filesystem late enough
>     
>     We should not initialize rootfs before all the core initializers have
>     run.  So do it as a separate stage just before starting the regular
>     driver initializers.
>     
>     Signed-off-by: Linus Torvalds <torvalds at osdl.org>

This seems to be what's triggering the apparent memory corruption we've
been seeing recently -- in the case of the Fedora kernel it manifests
itself as a BUG() in cache_alloc_refill() when the pmac ide driver
initialises.

Another report was at http://lkml.org/lkml/2006/12/17/4

We've been seeing it on a Mac Mini too, and I managed to reproduce it on
my shinybook this evening by booting with 'mem=512M'.

One side-effect of this patch is to move the call to free_initrd() much
later in the init sequence, potentially after other memory management
code is assuming it's already been freed.

-- 
dwmw2




More information about the Linuxppc-dev mailing list