Re: [PATCH] x86, relocs: move ELF relocation handling to C

From: Kees Cook
Date: Wed Jun 12 2013 - 12:26:21 EST


On Tue, Jun 11, 2013 at 11:27 PM, Pekka Enberg <penberg@xxxxxxxxxx> wrote:
> Hello Kees,
>
> On Tue, Jun 11, 2013 at 9:58 PM, Kees Cook <keescook@xxxxxxxxxxxx> wrote:
>> Moves the relocation handling into C, after decompression. This requires
>> that the decompressed size is passed to the decompression routine as
>> well so that relocations can be found. Only kernels that need relocation
>> support will use the code.
>>
>> Based on work by Neill Clift and Michael Davidson.
>>
>> Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
>
> How does the kernel benefit from this? Are there problems with the current
> assembly code? Are you planning to improve the relocation code?

Yes, this is continuing the work needed for 64-bit relocations,
ultimately needed by KASLR. As part of the work, I was asked to move
the relocation logic from assembly into C. Doing this means that there
isn't any need for duplicating the logic in the 64-bit path (e.g.
head_64.S).

Since the other relocation work is already in the tree, I wanted to
get these last two pieces in (one was a fix for the __vvar_page --
separate patch, the other is this one, allowing 64-bit relocations to
operate while also moving the logic into C).

-Kees

--
Kees Cook
Chrome OS Security
--
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/