[GIT PULL] x86/boot changes for v4.8
From: Ingo Molnar
Date: Mon Jul 25 2016 - 06:01:43 EST
Linus,
Please pull the latest x86-boot-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-boot-for-linus
# HEAD: 6a79296cb15d947bcb4558011fe066e5d8252b35 x86/boot: Simplify EBDA-vs-BIOS reservation logic
Note: please only pull this tree if you've already pulled x86-mm-for-linus.
The main changes:
- Add initial commits to randomize kernel memory section virtual addresses,
enabled via a new kernel option: CONFIG_RANDOMIZE_MEMORY=y.
(Thomas Garnier, Kees Cook, Baoquan He, Yinghai Lu)
- Enhance KASLR (CONFIG_RANDOMIZE_BASE) physical memory randomization.
(Kees Cook)
- EBDA/BIOS region boot quirk cleanups (Andy Lutomirski, Ingo Molnar)
- misc cleanups/fixes.
Thanks,
Ingo
------------------>
[ shortlog and diffstat generated manually ]
Andy Lutomirski (2):
x86/boot: Clarify what x86_legacy_features.reserve_bios_regions does
x86/boot: Simplify EBDA-vs-BIOS reservation logic
Baoquan He (2):
x86/KASLR: Randomize virtual address separately
x86/KASLR: Fix boot crash with certain memory configurations
Borislav Petkov (1):
x86/boot/64: Add forgotten end of function marker
Ingo Molnar (2):
Merge branch 'x86/mm' into x86/boot, to pick up dependencies
x86/boot: Reorganize and clean up the BIOS area reservation code
Kees Cook (4):
x86/KASLR, x86/power: Remove x86 hibernation restrictions
x86/boot: Refuse to build with data relocations
x86/KASLR: Clarify identity map interface
x86/KASLR: Extend kernel image physical address randomization to addresses larger than 4G
Thomas Garnier (9):
x86/mm: Refactor KASLR entropy functions
x86/mm: Update physical mapping variable names
x86/mm: Add PUD VA support for physical mapping
x86/mm: Separate variable for trampoline PGD
x86/mm: Implement ASLR for kernel memory regions
x86/mm: Enable KASLR for physical mapping memory regions
x86/mm: Enable KASLR for vmalloc memory regions
x86/mm: Add memory hotplug support for KASLR memory randomization
x86/mm: Do not reference phys addr beyond kernel
Yinghai Lu (1):
x86/KASLR: Allow randomization below the load address
Documentation/kernel-parameters.txt | 10 +++---
Documentation/x86/x86_64/mm.txt | 4 +++
arch/x86/Kconfig | 59 ++++++++++++++++++++++++++------
arch/x86/boot/compressed/Makefile | 18 ++++++++++
arch/x86/boot/compressed/kaslr.c | 251 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------
arch/x86/boot/compressed/misc.c | 49 +++++++++++++++-----------
arch/x86/boot/compressed/misc.h | 25 ++++++++------
arch/x86/boot/compressed/pagetable.c | 29 ++++++++++------
arch/x86/include/asm/bios_ebda.h | 2 +-
arch/x86/include/asm/kaslr.h | 15 ++++++++
arch/x86/include/asm/page_64_types.h | 11 +++++-
arch/x86/include/asm/pgtable.h | 17 ++++++++++
arch/x86/include/asm/pgtable_64_types.h | 15 +++++---
arch/x86/include/asm/x86_init.h | 7 ++--
arch/x86/kernel/ebda.c | 114 +++++++++++++++++++++++++++++++++++++------------------------
arch/x86/kernel/head32.c | 2 +-
arch/x86/kernel/head64.c | 2 +-
arch/x86/kernel/head_64.S | 3 +-
arch/x86/kernel/platform-quirks.c | 4 +--
arch/x86/kernel/setup.c | 3 ++
arch/x86/lib/Makefile | 1 +
arch/x86/lib/kaslr.c | 90 ++++++++++++++++++++++++++++++++++++++++++++++++
arch/x86/mm/Makefile | 1 +
arch/x86/mm/dump_pagetables.c | 16 ++++++---
arch/x86/mm/init.c | 4 +++
arch/x86/mm/init_64.c | 167 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------------
arch/x86/mm/kaslr.c | 172 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
arch/x86/mm/pageattr.c | 12 +++++--
arch/x86/realmode/init.c | 5 ++-
kernel/power/hibernate.c | 6 ----
30 files changed, 778 insertions(+), 336 deletions(-)
create mode 100644 arch/x86/include/asm/kaslr.h
create mode 100644 arch/x86/lib/kaslr.c
create mode 100644 arch/x86/mm/kaslr.c