Re: [PATCH v4] x86, kaslr: Access the correct kaslr_enabled variable

From: Yinghai Lu
Date: Mon Mar 16 2015 - 01:05:00 EST


On Sun, Mar 15, 2015 at 8:28 PM, Baoquan He <bhe@xxxxxxxxxx> wrote:
> On 03/15/15 at 12:49am, Yinghai Lu wrote:
>
> It's good to check the ret value as Boris suggested. However it could
> fail since early_memremap self fail, e.g slot not found. In this case
> making kaslr_enabled true may not be good.

It should not fail. we always follow map/access/unmap. and sometime
would have two for copying between them.

>
> As Minfei talked with you kaslr_setup_data is a global variable inside
> kernel code, it has been ident mapped. Just derefencing the physical
> address which is virtual address too and getting the real stored value
> may be safer.

No.
That ident mapping is set in arch/x86/kernel/head_64.S and it
is only for switchover. and it is gone when
arch/x86/kernel/head64.c::x86_64_start_kernel/reset_early_page_tables
is called.

That reset_early_page_tables will only keep kernel high mapping
and clear all other.

Thanks

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