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

From: Yinghai Lu
Date: Sat Sep 06 2008 - 12:14:47 EST


On Sat, Sep 6, 2008 at 6:41 AM, Ingo Molnar <mingo@xxxxxxx> wrote:
>
> * 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 .
>
wonder if lilo is fixing bzImage from 1M, and when it is calculating
pos of ramdisk...base that
later on-same-position uncompressing, put vmlinux from 2M...

it seems kexec is puting initrd as high as possible, or could specify
the ramdisk postion ..

wonder if new lilo could help.

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