Messages in this thread | | | Date | Tue, 26 Jun 2018 11:06:30 -0400 | From | Luiz Capitulino <> | Subject | Re: [PATCH v2 0/2] x86/boot/KASLR: Skip specified number of 1GB huge pages when do physical randomization |
| |
On Mon, 25 Jun 2018 11:16:54 +0800 Baoquan He <bhe@redhat.com> wrote:
> This is a regression bug fix. Luiz's team reported that 1GB huge page > allocation will get one less 1GB page randomly when KASLR is enabled. On > their KVM guest with 4GB RAM, which only has one good 1GB huge page, > they found the 1GB huge page allocation sometime failed with below > kernel option adding. > > default_hugepagesz=1G hugepagesz=1G hugepages=1 > > This is because kernel may be randomized into those good 1GB huge pages. > > And also on those bare-metal machines with larger memory, one less 1GB huge > page might be seen with KASLR enabled than 'nokaslr' specified case. It's > also because that kernel might be randomized into one of those good 1GB huge > pages. > > The solution in this patchset is to skip specified number of GB huge > pages when do kernel physical randomization. If the specified number of GB > huge pages is bigger than amount of good GB huge pages which system can > provide, it's consistent with the current huge page implementation.
Reviewed-and-Tested-by: Luiz Capitulino <lcapitulino@redhat.com>
> > v1->v2: > There are several code style problems and typos which were pointed out > by Ingo, fix them in this patchset. > > Baoquan He (2): > x86/boot/KASLR: Add two functions for 1GB huge pages handling > x86/boot/KASLR: Skip specified number of 1GB huge pages when do > physical randomization > > arch/x86/boot/compressed/kaslr.c | 96 +++++++++++++++++++++++++++++++++++++--- > 1 file changed, 91 insertions(+), 5 deletions(-) >
| |