linux/arch/s390/kernel
Heiko Carstens 75c10d5377 s390/vmlinux.lds.S: Move ro_after_init section behind rodata section
The .data.rel.ro and .got section were added between the rodata and
ro_after_init data section, which adds an RW mapping in between all RO
mapping of the kernel image:

---[ Kernel Image Start ]---
0x000003ffe0000000-0x000003ffe0e00000        14M PMD RO X
0x000003ffe0e00000-0x000003ffe0ec7000       796K PTE RO X
0x000003ffe0ec7000-0x000003ffe0f00000       228K PTE RO NX
0x000003ffe0f00000-0x000003ffe1300000         4M PMD RO NX
0x000003ffe1300000-0x000003ffe1331000       196K PTE RO NX
0x000003ffe1331000-0x000003ffe13b3000       520K PTE RW NX <---
0x000003ffe13b3000-0x000003ffe13d5000       136K PTE RO NX
0x000003ffe13d5000-0x000003ffe1400000       172K PTE RW NX
0x000003ffe1400000-0x000003ffe1500000         1M PMD RW NX
0x000003ffe1500000-0x000003ffe1700000         2M PTE RW NX
0x000003ffe1700000-0x000003ffe1800000         1M PMD RW NX
0x000003ffe1800000-0x000003ffe187e000       504K PTE RW NX
---[ Kernel Image End ]---

Move the ro_after_init data section again right behind the rodata
section to prevent interleaving RO and RW mappings:

---[ Kernel Image Start ]---
0x000003ffe0000000-0x000003ffe0e00000        14M PMD RO X
0x000003ffe0e00000-0x000003ffe0ec7000       796K PTE RO X
0x000003ffe0ec7000-0x000003ffe0f00000       228K PTE RO NX
0x000003ffe0f00000-0x000003ffe1300000         4M PMD RO NX
0x000003ffe1300000-0x000003ffe1353000       332K PTE RO NX
0x000003ffe1353000-0x000003ffe1400000       692K PTE RW NX
0x000003ffe1400000-0x000003ffe1500000         1M PMD RW NX
0x000003ffe1500000-0x000003ffe1700000         2M PTE RW NX
0x000003ffe1700000-0x000003ffe1800000         1M PMD RW NX
0x000003ffe1800000-0x000003ffe187e000       504K PTE RW NX
---[ Kernel Image End ]---

Reviewed-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
2024-07-31 16:30:20 +02:00
..
syscalls syscalls: fix compat_sys_io_pgetevents_time64 usage 2024-06-25 15:57:20 +02:00
vdso32 more s390 updates for 6.10 merge window 2024-05-21 12:09:36 -07:00
vdso64 more s390 updates for 6.10 merge window 2024-05-21 12:09:36 -07:00
.gitignore
Makefile s390: Remove protvirt and kvm config guards for uv code 2024-07-23 16:02:33 +02:00
abs_lowcore.c s390: Add infrastructure to patch lowcore accesses 2024-07-23 16:02:32 +02:00
alternative.c s390: Add infrastructure to patch lowcore accesses 2024-07-23 16:02:32 +02:00
asm-offsets.c s390/entry: Move SIE indicator flag to thread info 2024-07-23 16:02:31 +02:00
audit.c
audit.h
cache.c
cert_store.c fix missing vmalloc.h includes 2024-04-25 20:55:49 -07:00
compat_audit.c
compat_linux.c
compat_linux.h
compat_ptrace.h
compat_signal.c
cpcmd.c
cpufeature.c
crash_dump.c s390/crash: Do not use VM info if os_info does not have it 2024-06-05 17:03:24 +02:00
ctlreg.c
debug.c sysctl: treewide: constify the ctl_table argument of proc_handlers 2024-07-24 20:59:29 +02:00
diag.c - 875fa64577da ("mm/hugetlb_vmemmap: fix race with speculative PFN 2024-07-21 17:15:46 -07:00
dis.c
dumpstack.c s390: Replace S390_lowcore by get_lowcore() 2024-06-18 17:01:33 +02:00
early.c s390: Add infrastructure to patch lowcore accesses 2024-07-23 16:02:32 +02:00
early_printk.c
earlypgm.S
ebcdic.c
entry.S s390/entry: Make system_call() ready for lowcore relocation 2024-07-23 16:02:32 +02:00
entry.h
facility.c
fpu.c s390/fpu: Re-add exception handling in load_fpu_state() 2024-07-31 16:30:20 +02:00
ftrace.c s390/ftrace: unpoison ftrace_regs in kprobe_ftrace_handler() 2024-07-03 19:30:24 -07:00
ftrace.h
guarded_storage.c
head64.S s390/head64: Make startup code ready for lowcore relocation 2024-07-23 16:02:32 +02:00
idle.c s390/idle: Remove duplicate get_lowcore() calls 2024-06-18 17:01:33 +02:00
ima_arch.c
ipl.c s390/smp: Handle restart interrupt on ipl cpu 2024-07-23 16:02:31 +02:00
ipl_vmparm.c
irq.c s390: Replace S390_lowcore by get_lowcore() 2024-06-18 17:01:33 +02:00
jump_label.c
kdebugfs.c
kexec_elf.c
kexec_image.c
kprobes.c more s390 updates for 6.10 merge window 2024-05-21 12:09:36 -07:00
lgr.c
machine_kexec.c s390/kdump: Make kdump ready for lowcore relocation 2024-07-23 16:02:32 +02:00
machine_kexec_file.c
machine_kexec_reloc.c
mcount.S
module.c arch: make execmem setup available regardless of CONFIG_MODULES 2024-05-14 00:31:44 -07:00
nmi.c s390/nmi: Remove duplicate get_lowcore() calls 2024-06-18 17:01:33 +02:00
nospec-branch.c s390/nospec: Push down alternative handling 2024-07-23 16:02:31 +02:00
nospec-sysfs.c s390/nospec: Push down alternative handling 2024-07-23 16:02:31 +02:00
numa.c
os_info.c s390/os_info: Fix array size in struct os_info 2024-04-29 17:33:29 +02:00
perf_cpum_cf.c s390/cpum_cf: Fix endless loop in CF_DIAG event stop 2024-07-23 16:02:30 +02:00
perf_cpum_cf_events.c
perf_cpum_sf.c s390: Replace S390_lowcore by get_lowcore() 2024-06-18 17:01:33 +02:00
perf_event.c s390/stacktrace: Merge perf_callchain_user() and arch_stack_walk_user() 2024-05-14 13:37:06 +02:00
perf_pai_crypto.c s390: Replace S390_lowcore by get_lowcore() 2024-06-18 17:01:33 +02:00
perf_pai_ext.c s390: Replace S390_lowcore by get_lowcore() 2024-06-18 17:01:33 +02:00
perf_regs.c
process.c s390: Replace S390_lowcore by get_lowcore() 2024-06-18 17:01:33 +02:00
processor.c s390/alternatives: Move text sync functions 2024-07-23 16:02:31 +02:00
ptrace.c
reipl.S s390/kdump: Make kdump ready for lowcore relocation 2024-07-23 16:02:32 +02:00
relocate_kernel.S
rethook.c
rethook.h
runtime_instr.c
setup.c s390: Add infrastructure to patch lowcore accesses 2024-07-23 16:02:32 +02:00
signal.c
smp.c s390: Move CIF flags to struct pcpu 2024-07-23 16:02:31 +02:00
stacktrace.c s390/stackstrace: Detect vdso stack frames 2024-05-14 13:37:07 +02:00
sthyi.c s390/sthyi: Use cached data when diag is busy 2024-07-10 19:50:45 +02:00
syscall.c s390 updates for 6.11 merge window 2024-07-18 15:41:45 -07:00
sysinfo.c
text_amode31.S
time.c s390: Replace S390_lowcore by get_lowcore() 2024-06-18 17:01:33 +02:00
topology.c sysctl: treewide: constify the ctl_table argument of proc_handlers 2024-07-24 20:59:29 +02:00
trace.c
traps.c - 875fa64577da ("mm/hugetlb_vmemmap: fix race with speculative PFN 2024-07-21 17:15:46 -07:00
unwind_bc.c s390/unwind: disable KMSAN checks 2024-07-03 19:30:25 -07:00
uprobes.c
uv.c s390: Remove protvirt and kvm config guards for uv code 2024-07-23 16:02:33 +02:00
vdso.c s390/stackstrace: Detect vdso stack frames 2024-05-14 13:37:07 +02:00
vmcore_info.c s390/vmcoreinfo: Store virtual memory layout 2024-04-17 13:38:01 +02:00
vmlinux.lds.S s390/vmlinux.lds.S: Move ro_after_init section behind rodata section 2024-07-31 16:30:20 +02:00
vtime.c s390/vtime: Remove duplicate get_lowcore() calls 2024-06-18 17:01:33 +02:00