Re: [PATCH 1/2] boot: increase stack size for kernel boot loaderdecompressor

From: Mike Travis
Date: Tue Apr 08 2008 - 10:56:28 EST


Ingo Molnar wrote:
> * Alexander van Heukelum <heukelum@xxxxxxxxxxxxx> wrote:
>
>> I did see that the malloc space that the inflate code is using is
>> taken from _after_ the end of the bss. I don't see how this is
>> protected from being used/overwritten. Changing the stack size changes
>> the memory layout a bit... maybe you were so unlucky to create a
>> vmlinux image that was just barely smaller than some threshold and
>> increasing the stack size made the decompression/relocation area be
>> located somewhere else?
>>
>> Test patch follows.
>
> that's a really interesting theory.
>
> FWIIW, i've been booting allyesconfig bzImages for a long time (with
> only minimal amount of drivers disabled - mostly old ISA ones that
> assume the presence of the real hardware), and they boot and work fine
> on both 32-bit and 64-bit typical whitebox PCs. That means huge bzImages
> that decompresses into a ~41 MB kernel image. I'd expect that to be a
> rather severe test of the decompressor.
>
> Ingo

Well admittedly, I did discover this problem way early in booting
up a 4k NR_CPU kernel (obviously ;-). Once it booted, I haven't
revisited that problem again. I wonder if it's a pathological case
of a single bitstream that causes expansion instead of compression?
Note I was using the akpm2 config script with NR_CPUS=4096 and
NODES_SHIFT=9 (plus some other tweaks specific to our AMD and Intel
boxes.)

Thanks,
Mike
--
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/