Re: [tip:x86/kaslr] x86, relocs: Add more per-cpu gold special cases

From: Kees Cook
Date: Tue Oct 15 2013 - 11:42:23 EST


On Mon, Oct 14, 2013 at 11:04 PM, Ingo Molnar <mingo@xxxxxxxxxx> wrote:
>
> * Kees Cook <keescook@xxxxxxxxxxxx> wrote:
>
>> On Mon, Oct 14, 2013 at 9:28 AM, H. Peter Anvin <hpa@xxxxxxxxx> wrote:
>> > On 10/14/2013 07:19 AM, H. Peter Anvin wrote:
>> >> My guess is that the 95 addresses are randomized and the 82 address is an address which failed to relocate.
>> >
>> >> ffffffff82a04a58 is:
>> >> ffffffff82a03000 t init_per_cpu__gdt_page
>> >
>> >
>> > Specifically, it looks like the percpu stuff isn't getting set up correctly.
>>
>> It wouldn't surprise me if there are even more percpu things to fix.
>> It's the main area we've continued to trip over while working on this
>> with various linkers. Which linker and version are you seeing this
>> with?
>
> The failure I saw triggered with fairly modern userspace:
>
> GNU ld version 2.23.52.0.1-9.fc19 20130226
>
> gcc version 4.8.1 20130603 (Red Hat 4.8.1-1) (GCC)

Can you try with the gold linker? When not using Gold, I can produce a
similar crash with GNU ld ver 2.23.2 but not 2.22.

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