Re: [BUG] 2.6.26-rc1 hangs during boot on UltraSPARC 5

From: David Miller
Date: Tue May 06 2008 - 18:21:01 EST


From: Mikael Pettersson <mikpe@xxxxxxxx>
Date: Tue, 6 May 2008 21:38:24 +0200

> I removed "| CON_BOOT" and got what looks like the same oops
> Raúl Porcel reported earlier today (which he for some reason
> sent only to the lists, not to you or me); his oops was:

I can reproduce this problem here in my t1000.

It looks like some kind of initrd regression.

Looking at the crashes, the kernel seems to be trying
to dereference a physical address when peeking at the
initrd instead of using a virtual one. That's a big
clue.

This patch should fix it:

commit d45100f7b69e3d9cd0cd5e956b6ac2c78d460d07
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date: Tue May 6 15:19:54 2008 -0700

sparc64: Fix initrd regression.

We die because we forget to convert initrd_start and
initrd_end to virtual addresses.

Reported by Mikael Pettersson

Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

diff --git a/arch/sparc64/mm/init.c b/arch/sparc64/mm/init.c
index db8e7fb..ec3e2c7 100644
--- a/arch/sparc64/mm/init.c
+++ b/arch/sparc64/mm/init.c
@@ -771,6 +771,9 @@ static void __init find_ramdisk(unsigned long phys_base)
initrd_end = ramdisk_image + sparc_ramdisk_size;

lmb_reserve(initrd_start, initrd_end);
+
+ initrd_start += PAGE_OFFSET;
+ initrd_end += PAGE_OFFSET;
}
#endif
}

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