From: Baoquan He <bhe@redhat.com>
To: Borislav Petkov <bp@alien8.de>
Cc: Masayoshi Mizuma <msys.mizuma@gmail.com>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
x86@kernel.org, Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v5 4/4] x86/mm/KASLR: Adjust the padding size for the direct mapping.
Date: Fri, 13 Dec 2019 22:54:48 +0800 [thread overview]
Message-ID: <20191213145448.GH28917@MiWiFi-R3L-srv> (raw)
In-Reply-To: <20191213141543.GA25899@zn.tnic>
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
next prev parent reply other threads:[~2019-12-13 20:38 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-15 14:49 [PATCH v5 0/4] Adjust the padding size for KASLR Masayoshi Mizuma
2019-11-15 14:49 ` [PATCH v5 1/4] x86/boot: Wrap up the SRAT traversing code into subtable_parse() Masayoshi Mizuma
2019-12-12 20:18 ` Borislav Petkov
2019-11-15 14:49 ` [PATCH v5 2/4] x86/boot: Add max_addr field in struct boot_params Masayoshi Mizuma
2019-11-15 14:49 ` [PATCH v5 3/4] x86/boot: Get the max address from SRAT Masayoshi Mizuma
2019-11-15 14:49 ` [PATCH v5 4/4] x86/mm/KASLR: Adjust the padding size for the direct mapping Masayoshi Mizuma
2019-11-17 0:42 ` Baoquan He
2019-12-12 20:19 ` Borislav Petkov
2019-12-13 13:28 ` Baoquan He
2019-12-13 14:15 ` Borislav Petkov
2019-12-13 14:54 ` Baoquan He [this message]
2019-12-13 16:38 ` Borislav Petkov
2019-12-13 23:29 ` Baoquan He
2019-12-14 7:13 ` Borislav Petkov
2019-12-14 10:07 ` Baoquan He
2019-12-14 3:33 ` Baoquan He
2019-12-14 7:15 ` Borislav Petkov
2019-12-12 20:17 ` [PATCH v5 0/4] Adjust the padding size for KASLR Borislav Petkov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191213145448.GH28917@MiWiFi-R3L-srv \
--to=bhe@redhat.com \
--cc=bp@alien8.de \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=m.mizuma@jp.fujitsu.com \
--cc=mingo@redhat.com \
--cc=msys.mizuma@gmail.com \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.