Borislav Petkov 980dec
From: Andy Lutomirski <luto@kernel.org>
Borislav Petkov 980dec
Date: Tue, 12 Dec 2017 07:56:43 -0800
Borislav Petkov 980dec
Subject: x86/mm/64: Improve the memory map documentation
Borislav Petkov 980dec
Git-commit: 5a7ccf4754fb3660569a6de52ba7f7fc3dfaf280
Borislav Petkov 980dec
Patch-mainline: v4.15-rc5
Borislav Petkov 980dec
References: bsc#1068032 CVE-2017-5754
Borislav Petkov 980dec
Borislav Petkov 980dec
The old docs had the vsyscall range wrong and were missing the fixmap.
Borislav Petkov 980dec
Fix both.
Borislav Petkov 980dec
Borislav Petkov 980dec
There used to be 8 MB reserved for future vsyscalls, but that's long gone.
Borislav Petkov 980dec
Borislav Petkov 980dec
Signed-off-by: Andy Lutomirski <luto@kernel.org>
Borislav Petkov 980dec
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Borislav Petkov 980dec
Cc: Borislav Petkov <bp@alien8.de>
Borislav Petkov 980dec
Cc: Brian Gerst <brgerst@gmail.com>
Borislav Petkov 980dec
Cc: Dave Hansen <dave.hansen@intel.com>
Borislav Petkov 980dec
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Borislav Petkov 980dec
Cc: David Laight <David.Laight@aculab.com>
Borislav Petkov 980dec
Cc: H. Peter Anvin <hpa@zytor.com>
Borislav Petkov 980dec
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Borislav Petkov 980dec
Cc: Juergen Gross <jgross@suse.com>
Borislav Petkov 980dec
Cc: Kees Cook <keescook@chromium.org>
Borislav Petkov 980dec
Cc: Kirill A. Shutemov <kirill@shutemov.name>
Borislav Petkov 980dec
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Borislav Petkov 980dec
Cc: Peter Zijlstra <peterz@infradead.org>
Borislav Petkov 980dec
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Borislav Petkov 980dec
Acked-by: Borislav Petkov <bp@suse.de>
Borislav Petkov 980dec
---
Borislav Petkov 980dec
 Documentation/x86/x86_64/mm.txt | 10 ++++++----
Borislav Petkov 980dec
 1 file changed, 6 insertions(+), 4 deletions(-)
Borislav Petkov 980dec
Borislav Petkov 980dec
diff --git a/Documentation/x86/x86_64/mm.txt b/Documentation/x86/x86_64/mm.txt
Borislav Petkov 980dec
index 3448e675b462..83ca5a3b90ac 100644
Borislav Petkov 980dec
--- a/Documentation/x86/x86_64/mm.txt
Borislav Petkov 980dec
+++ b/Documentation/x86/x86_64/mm.txt
Borislav Petkov 980dec
@@ -19,8 +19,9 @@ ffffff0000000000 - ffffff7fffffffff (=39 bits) %esp fixup stacks
Borislav Petkov 980dec
 ffffffef00000000 - fffffffeffffffff (=64 GB) EFI region mapping space
Borislav Petkov 980dec
 ... unused hole ...
Borislav Petkov 980dec
 ffffffff80000000 - ffffffff9fffffff (=512 MB)  kernel text mapping, from phys 0
Borislav Petkov 980dec
-ffffffffa0000000 - ffffffffff5fffff (=1526 MB) module mapping space (variable)
Borislav Petkov 980dec
-ffffffffff600000 - ffffffffffdfffff (=8 MB) vsyscalls
Borislav Petkov 980dec
+ffffffffa0000000 - [fixmap start]   (~1526 MB) module mapping space (variable)
Borislav Petkov 980dec
+[fixmap start]   - ffffffffff5fffff kernel-internal fixmap range
Borislav Petkov 980dec
+ffffffffff600000 - ffffffffff600fff (=4 kB) legacy vsyscall ABI
Borislav Petkov 980dec
 ffffffffffe00000 - ffffffffffffffff (=2 MB) unused hole
Borislav Petkov 980dec
 
Borislav Petkov 980dec
 Virtual memory map with 5 level page tables:
Borislav Petkov 980dec
@@ -41,8 +42,9 @@ ffffff0000000000 - ffffff7fffffffff (=39 bits) %esp fixup stacks
Borislav Petkov 980dec
 ffffffef00000000 - fffffffeffffffff (=64 GB) EFI region mapping space
Borislav Petkov 980dec
 ... unused hole ...
Borislav Petkov 980dec
 ffffffff80000000 - ffffffff9fffffff (=512 MB)  kernel text mapping, from phys 0
Borislav Petkov 980dec
-ffffffffa0000000 - ffffffffff5fffff (=1526 MB) module mapping space
Borislav Petkov 980dec
-ffffffffff600000 - ffffffffffdfffff (=8 MB) vsyscalls
Borislav Petkov 980dec
+ffffffffa0000000 - [fixmap start]   (~1526 MB) module mapping space
Borislav Petkov 980dec
+[fixmap start]   - ffffffffff5fffff kernel-internal fixmap range
Borislav Petkov 980dec
+ffffffffff600000 - ffffffffff600fff (=4 kB) legacy vsyscall ABI
Borislav Petkov 980dec
 ffffffffffe00000 - ffffffffffffffff (=2 MB) unused hole
Borislav Petkov 980dec
 
Borislav Petkov 980dec
 Architecture defines a 64-bit virtual address. Implementations can support
Borislav Petkov 980dec