]> git.baikalelectronics.ru Git - kernel.git/commit
x86/mm/KASLR: Use only one PUD entry for real mode trampoline
authorBaoquan He <bhe@redhat.com>
Fri, 8 Mar 2019 02:56:15 +0000 (10:56 +0800)
committerThomas Gleixner <tglx@linutronix.de>
Fri, 5 Apr 2019 20:13:00 +0000 (22:13 +0200)
commit88a4ffc4f4cf14df84b8c7f252fbf2673dc8d7cd
treec29e171d4f7c4160292af2291b484dd4713eb69a
parentc03dab144fbae678127da58eb6121622f88210fd
x86/mm/KASLR: Use only one PUD entry for real mode trampoline

The current code builds identity mapping for the real mode trampoline by
borrowing page tables from the direct mapping section if KASLR is
enabled. It copies present entries of the first PUD table in 4-level paging
mode, or the first P4D table in 5-level paging mode.

However, there's only a very small area under low 1 MB reserved for the
real mode trampoline in reserve_real_mode() so it makes no sense to build
up a really large mapping for it.

Reduce it to one PUD (1GB) entry. This matches the randomization
granularity in 4-level paging mode and allows to change the randomization
granularity in 5-level paging mode from 512GB to 1GB later.

[ tglx: Massaged changelog and comments ]

Signed-off-by: Baoquan He <bhe@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Cc: dave.hansen@linux.intel.com
Cc: luto@kernel.org
Cc: peterz@infradead.org
Cc: bp@alien8.de
Cc: hpa@zytor.com
Cc: keescook@chromium.org
Cc: thgarnie@google.com
Link: https://lkml.kernel.org/r/20190308025616.21440-2-bhe@redhat.com
arch/x86/mm/kaslr.c