From: Felix Fu <fuzhen5(a)huawei.com>
support kaslr feature in arm32 platform, using CONFIG_RANDOMIZE_BASE=y to
enable this feature.
Ard Biesheuvel (15):
asm-generic: add .data.rel.ro sections to __ro_after_init
arm-soc: exynos: replace open coded VA->PA conversions
arm-soc: mvebu: replace open coded VA->PA conversion
arm-soc: various: replace open coded VA->PA calculation of pen_release
ARM: kernel: switch to relative exception tables
ARM: kernel: make vmlinux buildable as a PIE executable
ARM: kernel: use PC-relative symbol references in MMU switch code
ARM: kernel: use PC relative symbol references in suspend/resume code
ARM: mm: export default vmalloc base address
ARM: kernel: refer to swapper_pg_dir via its symbol
arm: vectors: use local symbol names for vector entry points
ARM: kernel: implement randomization of the kernel load address
ARM: decompressor: explicitly map decompressor binary cacheable
ARM: decompressor: add KASLR support
No idea why this broke ...
Cui GaoSheng (6):
arm32: kaslr: Add missing sections about relocatable
arm32: kaslr: Fix the bug of module install failure
arm32: kaslr: Fix the bug of hidden symbols when decompressing code is
compiled
arm32: kaslr: Adapt dts files of multiple memory nodes
arm32: kaslr: Fix the bug of symbols relocation
arm32: kaslr: Print the real kaslr offset when kernel panic
Ye Bin (6):
arm32: kaslr: Add missing sections about relocatable
arm: kaslr: Fix memtop calculate, when there is no memory top info, we
can't use zero instead it.
arm32: kaslr: When boot with vxboot, we must adjust dtb address before
kaslr_early_init, and store dtb address after init.
arm32: kaslr: pop visibility when compile decompress boot code as we
need relocate BSS by GOT.
arm32: kaslr: print kaslr offset when kernel panic
arm32: kaslr: Fix clock_gettime and gettimeofday performance
degradation when configure CONFIG_RANDOMIZE_BASE
arch/arm/Kconfig | 17 +
arch/arm/Makefile | 6 +
arch/arm/boot/compressed/Makefile | 17 +-
arch/arm/boot/compressed/head.S | 139 +++++++-
arch/arm/boot/compressed/kaslr.c | 461 ++++++++++++++++++++++++++
arch/arm/boot/compressed/misc.c | 1 -
arch/arm/include/asm/Kbuild | 1 -
arch/arm/include/asm/assembler.h | 18 +-
arch/arm/include/asm/extable.h | 47 +++
arch/arm/include/asm/futex.h | 6 +-
arch/arm/include/asm/memory.h | 14 +
arch/arm/include/asm/pgtable.h | 1 +
arch/arm/include/asm/uaccess.h | 17 +-
arch/arm/include/asm/vmlinux.lds.h | 11 +-
arch/arm/include/asm/word-at-a-time.h | 6 +-
arch/arm/kernel/entry-armv.S | 40 +--
arch/arm/kernel/head-common.S | 60 +---
arch/arm/kernel/head.S | 107 +++++-
arch/arm/kernel/setup.c | 31 ++
arch/arm/kernel/sleep.S | 7 +-
arch/arm/kernel/swp_emulate.c | 8 +-
arch/arm/kernel/vmlinux.lds.S | 19 ++
arch/arm/lib/backtrace.S | 13 +-
arch/arm/lib/getuser.S | 24 +-
arch/arm/lib/putuser.S | 15 +-
arch/arm/mach-exynos/headsmp.S | 9 +-
arch/arm/mach-exynos/sleep.S | 26 +-
arch/arm/mach-mvebu/coherency_ll.S | 8 +-
arch/arm/mach-spear/headsmp.S | 11 +-
arch/arm/mach-versatile/headsmp.S | 9 +-
arch/arm/mm/alignment.c | 24 +-
arch/arm/mm/extable.c | 2 +-
arch/arm/nwfpe/entry.S | 6 +-
arch/arm/vdso/vgettimeofday.c | 5 +
include/asm-generic/vmlinux.lds.h | 2 +-
scripts/module.lds.S | 1 +
scripts/sorttable.c | 2 +-
37 files changed, 956 insertions(+), 235 deletions(-)
create mode 100644 arch/arm/boot/compressed/kaslr.c
create mode 100644 arch/arm/include/asm/extable.h
--
2.34.1