linux/arch/s390/boot
Heiko Carstens 93f616ff87 s390/mm: Do not map lowcore with identity mapping
Since the identity mapping is pinned to address zero the lowcore is always
also mapped to address zero, this happens regardless of the relocate_lowcore
command line option. If the option is specified the lowcore is mapped
twice, instead of only once.

This means that NULL pointer accesses will succeed instead of causing an
exception (low address protection still applies, but covers only parts).
To fix this never map the first two pages of physical memory with the
identity mapping.

Fixes: 32db401965 ("s390/mm: Pin identity mapping base to zero")
Reviewed-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
2025-08-20 16:37:28 +02:00
..
.gitignore s390/boot: Ignore vmlinux.map 2025-03-18 17:13:05 +01:00
Makefile s390/boot: Introduce jump_to_kernel() function 2025-07-10 14:42:10 +02:00
als.c s390/boot: Use the full title of the manual for facility bits 2025-06-23 12:05:00 +02:00
alternative.c s390/alternatives: Add debug functionality 2025-03-04 17:18:08 +01:00
boot.h s390/boot: Introduce jump_to_kernel() function 2025-07-10 14:42:10 +02:00
clz_ctz.c s390/boot: get rid of startup archive 2022-05-06 20:45:14 +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
decompressor.c s390/boot: Improve decompression error reporting 2025-01-26 17:24:03 +01:00
decompressor.h s390/boot: Rework deployment of the kernel image 2024-04-17 13:38:02 +02:00
ebcdic.c s390/decompressor: avoid reusing uncompressed image objects 2018-06-25 10:14:39 +02:00
head.S s390/boot: Add exception table support 2025-03-04 17:25:22 +01:00
head_kdump.S s390: consistently use .balign instead of .align 2023-06-28 13:57:09 +02:00
install.sh kbuild: Abort make on install failures 2024-07-20 13:34:54 +09:00
ipl_data.c s390/boot: Introduce jump_to_kernel() function 2025-07-10 14:42:10 +02:00
ipl_parm.c s390/boot: Use strspcy() instead of strcpy() 2025-04-30 11:41:28 +02:00
ipl_report.c s390/ipl_report: Remove unused 'size' variable 2025-01-26 17:24:04 +01: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/boot: Replace boot_printk() with loglevel-specific helpers 2025-01-26 17:24:00 +01:00
kmsan.c s390/boot: add the KMSAN runtime stub 2024-07-03 19:30:24 -07:00
machine_kexec_reloc.c s390/kernel: build a relocatable kernel 2019-04-29 10:47:10 +02:00
mem.S s390/decompressor: reuse lib/mem.S for mem functions 2018-06-25 10:14:39 +02:00
pgm_check.c s390/boot: Add exception table support 2025-03-04 17:25:22 +01:00
physmem_info.c s390: Use inline qualifier for all EX_TABLE and ALTERNATIVE inline assemblies 2025-03-18 17:13:51 +01:00
printk.c s390/boot: Use strspcy() instead of strcpy() 2025-04-30 11:41:28 +02:00
sclp_early_core.c s390/boot: move sclp early buffer from fixed address in asm to C 2021-07-27 09:39:15 +02:00
startup.c s390/boot: Fix startup debugging log 2025-08-06 17:18:27 +02:00
string.c s390/boot: Add sized_strscpy() to enable strscpy() usage 2025-04-14 11:23:22 +02:00
trampoline.S s390/boot: Introduce jump_to_kernel() function 2025-07-10 14:42:10 +02:00
uv.c s390/uv: Retrieve UV secrets sysfs support 2024-10-29 11:17:17 +01:00
uv.h s390: Remove protvirt and kvm config guards for uv code 2024-07-23 16:02:33 +02:00
version.c kbuild: build init/built-in.a just once 2022-09-29 04:40:15 +09:00
vmem.c s390/mm: Do not map lowcore with identity mapping 2025-08-20 16:37:28 +02:00
vmlinux.lds.S s390/boot: Add exception table support 2025-03-04 17:25:22 +01:00