Messages in this thread | | | Date | Mon, 16 Mar 2015 13:19:35 +0800 | From | Baoquan He <> | Subject | Re: [PATCH v4] x86, kaslr: Access the correct kaslr_enabled variable |
| |
On 03/15/15 at 10:04pm, Yinghai Lu wrote: > On Sun, Mar 15, 2015 at 8:28 PM, Baoquan He <bhe@redhat.com> 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.
Well, then I would say if add checking too in other places for setup_data handling, e.g parse_setup_data you mentioned. Or don't check at all place to make them consistent.
> > > > > 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.
Ah, yes. You are right. I didn't get this clearly, Thanks for telling.
Thanks Baoquan
> > Thanks > > Yinghai
| |