From: Baoquan He <bhe@redhat.com>
To: linux-kernel@vger.kernel.org, kirill.shutemov@linux.intel.com
Cc: dave.hansen@linux.intel.com, luto@kernel.org,
peterz@infradead.org, tglx@linutronix.de, mingo@redhat.com,
bp@alien8.de, hpa@zytor.com, x86@kernel.org,
keescook@chromium.org, thgarnie@google.com
Subject: Re: [PATCH v3 0/2] x86/mm/KASLR: Change the granularity of randomization to PUD size in 5-level
Date: Thu, 4 Apr 2019 10:18:35 +0800 [thread overview]
Message-ID: <20190404021835.GR7627@MiWiFi-R3L-srv> (raw)
In-Reply-To: <20190308025616.21440-1-bhe@redhat.com>
PING
Is there any comment for this patchset, or could we consider to merge
them?
On 03/08/19 at 10:56am, Baoquan He wrote:
> This is v3 post, v2 post is here:
> http://lkml.kernel.org/r/20190228003522.9957-1-bhe@redhat.com
> v1 can be found here:
> http://lkml.kernel.org/r/20190224132231.4878-1-bhe@redhat.com
>
> Background:
> ***
> Earlier, during a series of KASLR patch reviewing, Ingo got the current
> memory region KASLR only has granularity of randomization in PUD size in
> 4-level paging mode, and P4D size in 5-level paging mode, He suggested
> me to try to change both of them to be PMD size at granularity:
>
> http://lkml.kernel.org/r/20180912100135.GB3333@gmail.com
>
> Later, I changed code to support PMD level of randomization for both
> 4-level and 5-level.
>
> https://github.com/baoquan-he/linux/commits/mm-kaslr-2m-aligned
>
> The test passed on my KVM guest with 1 GB RAM, but failed when I
> increased the RAM to 4 GB, and failed either on larger RAM.
>
> After analyzing, it's because that 1 GB page mapping need be mapped at 1
> GB aligned physical address for intel CPU. The 2 MB level of randomization
> will break it and cause error. Please check below table in intel IA32 manual.
>
> Table 4-15. Format of an IA-32e Page-Directory-Pointer-Table Entry (PDPTE) that Maps a 1-GByte Page
>
> So PMD level of randomization for mm KASLR is not doable.
>
> However, during investigation and testing above code, it turns out that the
> current code is misleading to build identity mapping for the real mode
> trampoline in case KASLR enabled. From code, only a small area (which is
> smaller than 1 MB) need be identity mapped. Please check below patch which
> is from above mm-kaslr-2m-aligned patch series. it only builds up 2 MB
> identity maping for real mode trampoline, and test passed on machines
> with 32 GB RAM of 4-level and on KVM guest of 5-level.
>
> https://github.com/baoquan-he/linux/commit/e120e67fbf9a5aa818d20084d8dea5b4a27ecf97
>
> Result:
> Make a patchset to:
> 1)change code to only build 1 GB of area for real mode trampoline,
> namely only copy one PUD entry where physical address 0 resides;
>
> 2)improve the randomization granularity of 5-level from P4D size to PUD size.
>
> Changelog:
> v2->v3:
> Improve patch 1/2 according to Kirill's comments:
> *) Adjust code change of 1/2;
> *) Add code comment to explain the two kinds of mapping thing for
> real mode;
>
> v1->v2:
> Improve patch according to Kirill's suggestions:
> *)Add more information to code comment for better understanding;
> *)Improve code to save one low memory page in 4-level;
>
> Baoquan He (2):
> x86/mm/KASLR: Only build one PUD entry of area for real mode
> trampoline
> x86/mm/KASLR: Change the granularity of randomization to PUD size in
> 5-level
>
> arch/x86/mm/kaslr.c | 98 ++++++++++++++++++++-------------------------
> 1 file changed, 43 insertions(+), 55 deletions(-)
>
> --
> 2.17.2
>
next prev parent reply other threads:[~2019-04-04 2:18 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-08 2:56 [PATCH v3 0/2] x86/mm/KASLR: Change the granularity of randomization to PUD size in 5-level Baoquan He
2019-03-08 2:56 ` [PATCH v3 1/2] x86/mm/KASLR: Only build one PUD entry of area for real mode trampoline Baoquan He
2019-03-12 7:38 ` Kirill A. Shutemov
2019-04-05 20:19 ` [tip:x86/mm] x86/mm/KASLR: Use only one PUD entry " tip-bot for Baoquan He
2019-03-08 2:56 ` [PATCH v3 2/2] x86/mm/KASLR: Change the granularity of randomization to PUD size in 5-level Baoquan He
2019-03-12 7:39 ` Kirill A. Shutemov
2019-04-05 20:19 ` [tip:x86/mm] x86/mm/KASLR: Reduce randomization granularity for 5-level paging to 1GB tip-bot for Baoquan He
2019-04-04 2:18 ` Baoquan He [this message]
-- strict thread matches above, loose matches on Subject: below --
2019-02-28 0:35 [PATCH v2 0/2] x86/mm/KASLR: Change the granularity of randomization to PUD size in 5-level Baoquan He
2019-02-28 9:10 ` Kirill A. Shutemov
2019-02-28 9:29 ` [PATCH v3 " Baoquan He
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=20190404021835.GR7627@MiWiFi-R3L-srv \
--to=bhe@redhat.com \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=hpa@zytor.com \
--cc=keescook@chromium.org \
--cc=kirill.shutemov@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@kernel.org \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
--cc=thgarnie@google.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).