]> git.baikalelectronics.ru Git - kernel.git/commit
x86/mm: Move LDT remap out of KASLR region on 5-level paging
authorKirill A. Shutemov <kirill.shutemov@linux.intel.com>
Fri, 26 Oct 2018 12:28:54 +0000 (15:28 +0300)
committerThomas Gleixner <tglx@linutronix.de>
Tue, 6 Nov 2018 20:35:11 +0000 (21:35 +0100)
commitd8227888e373e7d6dcf46aced93d7e42ff92b2ee
treefbbb33771ac6c392caeb283163a594f1a7e6d04d
parentd8e7aeeacda0509e32b7ce4f31e1a056f8431239
x86/mm: Move LDT remap out of KASLR region on 5-level paging

On 5-level paging the LDT remap area is placed in the middle of the KASLR
randomization region and it can overlap with the direct mapping, the
vmalloc or the vmap area.

The LDT mapping is per mm, so it cannot be moved into the P4D page table
next to the CPU_ENTRY_AREA without complicating PGD table allocation for
5-level paging.

The 4 PGD slot gap just before the direct mapping is reserved for
hypervisors, so it cannot be used.

Move the direct mapping one slot deeper and use the resulting gap for the
LDT remap area. The resulting layout is the same for 4 and 5 level paging.

[ tglx: Massaged changelog ]

Fixes: c25b612ae99e ("x86/pti: Put the LDT in its own PGD if PTI is on")
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Andy Lutomirski <luto@kernel.org>
Cc: bp@alien8.de
Cc: hpa@zytor.com
Cc: dave.hansen@linux.intel.com
Cc: peterz@infradead.org
Cc: boris.ostrovsky@oracle.com
Cc: jgross@suse.com
Cc: bhe@redhat.com
Cc: willy@infradead.org
Cc: linux-mm@kvack.org
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/20181026122856.66224-2-kirill.shutemov@linux.intel.com
Documentation/x86/x86_64/mm.txt
arch/x86/include/asm/page_64_types.h
arch/x86/include/asm/pgtable_64_types.h
arch/x86/xen/mmu_pv.c