Re: [PATCH] x86, kaslr: Prevent .bss from overlaping initrd

From: Eternal
Date: Fri Oct 31 2014 - 03:26:04 EST


Mika Penttilä <mika.j.penttila@xxxxxxxxx> writes:

>> When choosing a random address, the current implementation does not take into
>> account the reversed space for .bss and .brk sections. Thus the relocated kernel
>> may overlap other components in memory, e.g. the initrd image:
>
> initrd should be included in the avoid arrays already, and bss is
> included in the output_size
>
> for choose_kernel_location(). So something else is going on?

output_size = sizeof(vmlinux.bin) + sizeof(vmlinux.relocs)

vmlinux.bin is an ELF file that contains a section header for .bss. Thus
output_size does not include sizeof(.bss).

Best Regards
Junjie Mao

>
> --Mika
>
> On Thu, Oct 30, 2014 at 9:06 PM, Mika Penttilä
> <mika.j.penttila@xxxxxxxxx> wrote:
>>> When choosing a random address, the current implementation does not take
>>> into
>>> account the reversed space for .bss and .brk sections. Thus the relocated
>>> kernel
>>> may overlap other components in memory, e.g. the initrd image:
>>
>> initrd should be included in the avoid arrays already, and bss is included
>> in the output_size
>>
>> for choose_kernel_location(). So something else is going on?
>>
>> --Mika
>>
>>
--
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/