Re: [2.6.27] overlapping early reservations [was: early exception- lockdep related?]

From: Ingo Molnar
Date: Sat Sep 06 2008 - 09:41:56 EST



* H. Peter Anvin <hpa@xxxxxxxxxx> wrote:

> Peter Zijlstra wrote:
>> On Fri, 2008-09-05 at 21:17 +0200, Luca Tettamanti wrote:
>>> On Thu, Sep 4, 2008 at 10:51 PM, Luca Tettamanti <kronos.it@xxxxxxxxx> wrote:
>>>> On Thu, Sep 4, 2008 at 4:25 PM, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>>>>> Sadly your config just boots, albeit not to userspace due to missing
>>>>> drivers.
>>>> Yes, I managed to boot it with qemu... I tried kgdb - without luck -
>>>> kernel dies too early.
>>>> I also managed to get a stack trace :D
>>>>
>>>> http://img151.imageshack.us/my.php?image=tracedm1.jpg
>>>>
>>>> It seems that lockdep is an innocent bystander... the kernel died with
>>>> panic() in __reserve_early, and then took another exception while
>>>> printing the panic (I guess).
>>>> Will add further debug stuff to see wtf is going on.
>>> Hum, kernel says:
>>>
>>> http://img177.imageshack.us/my.php?image=overlappingus2.jpg
>>>
>>> Overlapping early reservations b98000-eff266 RAMDISK to 200000-d09cf7
>>> TEXT DATA BSS
>>>
>>> It would appear that the initramfs is overlapping the kernel itself,
>>> is the boot loader (LILO) doing something stupid?
>>
>> Suppose it is, lets ask hpa..
>>
>
> It definitely looks like it.

yeah. Kernel is loaded at the standard 2MB physical, and goes up to
13.6MB physical. That's a tad large at 11.6 MB but still valid.

ramdisk image goes from 11.6 MB to 14.9 MB - roughly standard size. That
overlaps 2 MB into the kernel image so we have to panic. LILO should
have loaded the ramdisk somewhere else. (or should have aborted the boot
if it cannot do that)

We could perhaps print a prominent warning, delay the boot for 5 seconds
or so via mdelay(5000) and simply not load the ramdisk if this happens?
The kernel is obviously still functional - and such a large vmlinuz
likely has all the built-in drivers to boot up to user-space - the lack
of the ramdisk does not necessarily hurt .

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