lkml.org 
[lkml]   [2019]   [Dec]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v5 4/4] x86/mm/KASLR: Adjust the padding size for the direct mapping.
On 12/13/19 at 03:15pm, Borislav Petkov wrote:
> On Fri, Dec 13, 2019 at 09:28:50PM +0800, Baoquan He wrote:
> > In Documentation/x86/x86_64/mm.rst, the physical memory regions mapping
> > with page_offset is called as the direct mapping of physical memory.
>
> The fact that it happens to compute the *first* region's size, which
> *happens* to be the direct mapping of all physical memory is immaterial
> here.
>
> It is actually causing more confusion in an already complex piece of
> code. You can call this function just as well
>
> calc_region_size()
>
> which won't confuse readers. Because all you care about here is the
> region's size - not which region it is.

Won't calc_region_size be too generic? We also have vmalloc and vmemmap,
and here we are specifically calculating the direct mapping of physical
memory.

>
> > kernel_randomize_memory() is invoked much earlier than
> > acpi_table_parse_srat().
>
> And? What are we going to do about that?


void __init setup_arch(char **cmdline_p)
{
...
kernel_randomize_memory();
...
init_mem_mapping();
...
initmem_init();
...
}

In kernel_randomize_memory(), KASLR builds the layout of these regions,
including their starting address and the gap between them. Once
finished, __PAGE_OFFSET, VMALLOC_START, VMEMMAP_START are settled.
If not knowing the max address to cover all the possible hotplugged
memory, later memory hotplug will fail.

Thanks
Baoquan

\
 
 \ /
  Last update: 2019-12-13 15:55    [W:0.064 / U:7.288 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site