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
cmdline.c
ctype.c
decompressor.c s390/boot: Improve decompression error reporting 2025-01-26 17:24:03 +01:00
decompressor.h
ebcdic.c
head.S s390/boot: Add exception table support 2025-03-04 17:25:22 +01:00
head_kdump.S
install.sh
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
kaslr.c s390/boot: Replace boot_printk() with loglevel-specific helpers 2025-01-26 17:24:00 +01:00
kmsan.c
machine_kexec_reloc.c
mem.S
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
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
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