linux_dsm_epyc7002/arch/s390/boot
Vasily Gorbik 759d4899d9 s390/kaslr: reserve memory for kasan usage
Sometimes the kernel fails to boot with:
"The Linux kernel failed to boot with the KernelAddressSanitizer:
out of memory during initialisation" even with big amounts of memory when
both kaslr and kasan are enabled.

The problem is that kasan initialization code requires 1/8 of physical
memory plus some for page tables. To keep as much code instrumented
as possible kasan avoids using memblock for memory allocations. Instead
kasan uses trivial memory allocator which simply chops off the memory
from the end of online physical memory. For that reason when kaslr is
enabled together with kasan avoid positioning kernel into upper memory
region which would be utilized during kasan initialization.

Reviewed-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
2019-08-26 12:51:18 +02:00
..
compressed s390/startup: adjust _sdma and _edma to page boundaries 2019-08-21 12:58:53 +02:00
.gitignore s390: introduce .boot.data section compile time validation 2018-10-09 11:21:08 +02:00
als.c s390: simplify disabled_wait 2019-05-02 13:54:11 +02:00
boot.h s390: enable detection of kernel version from bzImage 2019-07-23 10:43:50 +02:00
cmdline.c s390: move ipl block and cmd line handling to early boot phase 2018-10-09 11:21:14 +02:00
ctype.c s390: move ipl block and cmd line handling to early boot phase 2018-10-09 11:21:14 +02:00
ebcdic.c s390/decompressor: avoid reusing uncompressed image objects 2018-06-25 10:14:39 +02:00
head_kdump.S s390/boot: make head.S and als.c be part of the decompressor only 2018-06-25 10:14:38 +02:00
head.S s390/startup: add initial pgm check handler 2019-08-21 12:41:43 +02:00
install.sh s390: Remove redundant license text 2017-11-24 15:37:24 +01:00
ipl_parm.c s390/startup: correct command line options parsing 2019-08-26 12:51:17 +02:00
ipl_report.c s390/ipl: read IPL report at early boot 2019-04-26 12:34:05 +02:00
ipl_vmparm.c s390: move ipl block and cmd line handling to early boot phase 2018-10-09 11:21:14 +02:00
kaslr.c s390/kaslr: reserve memory for kasan usage 2019-08-26 12:51:18 +02:00
machine_kexec_reloc.c s390/kernel: build a relocatable kernel 2019-04-29 10:47:10 +02:00
Makefile s390: enable detection of kernel version from bzImage 2019-07-23 10:43:50 +02:00
mem_detect.c s390/mem_detect: provide single get_mem_detect_end 2019-08-26 12:51:18 +02:00
mem.S s390/decompressor: reuse lib/mem.S for mem functions 2018-06-25 10:14:39 +02:00
sclp_early_core.c s390/decompressor: avoid reusing uncompressed image objects 2018-06-25 10:14:39 +02:00
startup.c s390: clean .bss before running uncompressed kernel 2019-08-21 12:58:52 +02:00
string.c s390/kasan: improve string/memory functions checks 2019-01-18 09:34:18 +01:00
text_dma.S s390: use proper expoline sections for .dma code 2019-05-02 13:54:11 +02:00
uv.c s390/uv: introduce guest side ultravisor code 2019-04-10 17:47:21 +02:00
version.c s390: enable detection of kernel version from bzImage 2019-07-23 10:43:50 +02:00