linux-stable/arch/s390/kernel
Sven Schnelle d111855ab7 s390/mm: Fix NULL pointer dereference
The recently added check to figure out if a fault happened on gmap ASCE
dereferences the gmap pointer in lowcore without checking that it is not
NULL. For all non-KVM processes the pointer is NULL, so that some value
from lowcore will be read. With the current layouts of struct gmap and
struct lowcore the read value (aka ASCE) is zero, so that this doesn't lead
to any observable bug; at least currently.

Fix this by adding the missing NULL pointer check.

Fixes: 64c3431808 ("s390/entry: compare gmap asce to determine guest/host fault")
Signed-off-by: Sven Schnelle <svens@linux.ibm.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Reviewed-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
2024-04-17 17:26:34 +02:00
..
syscalls lsm/stable-6.8 PR 20240105 2024-01-09 12:57:46 -08:00
vdso32 s390/vdso: remove unused ENTRY in linker scripts 2024-02-14 13:50:53 +01:00
vdso64 s390/vdso64: filter out munaligned-symbols flag for vdso 2024-02-20 14:37:33 +01:00
.gitignore
Makefile arch, crash: move arch_crash_save_vmcoreinfo() out to file vmcore_info.c 2024-02-23 17:48:25 -08:00
abs_lowcore.c s390/mm: allocate Absolute Lowcore Area in decompressor 2023-01-13 14:15:06 +01:00
alternative.c s390/alternatives: remove padding generation code 2022-05-17 15:16:28 +02:00
asm-offsets.c s390/tracing: pass struct ftrace_regs to ftrace_trace_function 2023-07-24 12:12:24 +02:00
audit.c
audit.h
cache.c s390/cache: prevent rebuild of shared_cpu_list 2024-03-07 14:41:15 +01:00
cert_store.c s390/cert_store: fix string length handling 2023-09-19 13:25:44 +02:00
compat_audit.c
compat_linux.c
compat_linux.h s390/compat: cleanup compat_linux.h header file 2022-05-06 20:45:16 +02:00
compat_ptrace.h
compat_signal.c s390/fpu: rename save_fpu_regs() to save_user_fpu_regs(), etc 2024-02-16 14:30:15 +01:00
cpcmd.c s390: include linux/io.h instead of asm/io.h 2023-07-03 11:19:40 +02:00
cpufeature.c s390/uvdevice: autoload module based on CPU facility 2022-07-19 16:18:49 +02:00
crash_dump.c s390/fpu: move, rename, and merge header files 2024-02-16 14:30:14 +01:00
ctlreg.c s390/ctlreg: add system_ctl_load() 2023-09-19 13:26:57 +02:00
debug.c S390: Remove now superfluous sentinel elem from ctl_table arrays 2023-10-10 15:22:02 -07:00
diag.c s390/diag: add missing virt_to_phys() translation to diag14() 2024-02-09 13:58:14 +01:00
dis.c s390: fix various typos 2023-07-03 11:19:42 +02:00
dumpstack.c s390/dumpstack: simplify in stack logic code 2023-04-04 18:34:55 +02:00
early.c s390/fpu: move, rename, and merge header files 2024-02-16 14:30:14 +01:00
early_printk.c
earlypgm.S s390/earlypgm: use SYM* macros instead of ENTRY(), etc. 2023-04-19 17:24:17 +02:00
ebcdic.c s390/ebcdic: fix typo in comment 2023-07-27 13:11:35 +02:00
entry.S s390/mm: Fix NULL pointer dereference 2024-04-17 17:26:34 +02:00
entry.h s390/switch_to: use generic header file 2024-02-12 15:03:33 +01:00
facility.c KVM: s390: vsie: Fix length of facility list shadowed 2023-12-23 10:41:09 +01:00
fpu.c s390/fpu: limit save and restore to used registers 2024-02-16 14:30:16 +01:00
ftrace.c s390/ftrace: do not assume module_alloc() returns executable memory 2023-04-13 17:36:26 +02:00
ftrace.h s390: raise minimum supported machine generation to z10 2022-03-10 15:58:17 +01:00
guarded_storage.c s390: use control register bit defines 2023-09-19 13:26:57 +02:00
head64.S s390: consistently use .balign instead of .align 2023-06-28 13:57:09 +02:00
idle.c sched/idle: Mark arch_cpu_idle_dead() __noreturn 2023-03-08 08:44:28 -08:00
ima_arch.c
ipl.c s390/checksum: provide and use cksm() inline assembly 2024-02-16 14:30:17 +01:00
ipl_vmparm.c
irq.c s390/ctlreg: add local and system prefix to some functions 2023-09-19 13:26:56 +02:00
jump_label.c jump_label: make initial NOP patching the special case 2022-06-24 09:48:55 +02:00
kdebugfs.c
kexec_elf.c s390, crash: wrap crash dumping code into crash related ifdefs 2024-02-23 17:48:23 -08:00
kexec_image.c s390, crash: wrap crash dumping code into crash related ifdefs 2024-02-23 17:48:23 -08:00
kprobes.c s390/ctlreg: add struct ctlreg 2023-09-19 13:26:56 +02:00
kprobes.h s390/kprobes: define insn cache ops within private header file 2022-11-23 16:24:07 +01:00
kprobes_insn_page.S s390: consistently use .balign instead of .align 2023-06-28 13:57:09 +02:00
lgr.c s390/lgr: use simple assignment instead of memcpy 2022-02-06 23:31:29 +01:00
machine_kexec.c - Sumanth Korikkar has taught s390 to allocate hotplug-time page frames 2024-03-14 17:43:30 -07:00
machine_kexec_file.c s390, crash: wrap crash dumping code into crash related ifdefs 2024-02-23 17:48:23 -08:00
machine_kexec_reloc.c
mcount.S s390: remove unneeded #include <asm/export.h> 2023-08-09 15:20:50 +02:00
module.c s390/module: fix rela calculation for R_390_GOTENT 2023-06-20 19:55:00 +02:00
nmi.c s390/fpu: move, rename, and merge header files 2024-02-16 14:30:14 +01:00
nospec-branch.c s390: fix various typos 2023-07-03 11:19:42 +02:00
nospec-sysfs.c s390: introduce nospec_uses_trampoline() 2021-10-26 15:21:29 +02:00
numa.c drivers/base/node: consolidate node device subsystem initialization in node_dev_init() 2022-03-22 15:57:10 -07:00
os_info.c s390/checksum: provide and use cksm() inline assembly 2024-02-16 14:30:17 +01:00
perf_cpum_cf.c s390: use control register bit defines 2023-09-19 13:26:57 +02:00
perf_cpum_cf_events.c s390/cpumf: add new extended counter set for IBM z16 2022-05-16 10:58:33 +02:00
perf_cpum_sf.c s390/cpum_sf: remove check on CPU being online 2023-07-04 07:45:18 +02:00
perf_event.c s390/perf: implement perf_callchain_user() 2023-11-05 22:34:57 +01:00
perf_pai_crypto.c s390/pai: fix sampling event removal for PMU device driver 2024-04-03 15:00:20 +02:00
perf_pai_ext.c s390/pai: fix sampling event removal for PMU device driver 2024-04-03 15:00:20 +02:00
perf_regs.c s390/fpu: remove anonymous union from struct fpu 2024-02-16 14:30:16 +01:00
process.c s390/fpu: remove regs member from struct fpu 2024-02-16 14:30:16 +01:00
processor.c s390/fpu: get rid of MACHINE_HAS_VX 2023-12-11 14:33:07 +01:00
ptrace.c s390/fpu: remove anonymous union from struct fpu 2024-02-16 14:30:16 +01:00
reipl.S s390/reipl: use SYM* macros instead of ENTRY(), etc. 2023-04-19 17:24:17 +02:00
relocate_kernel.S s390/relocate_kernel: adjust indentation 2023-04-19 17:24:18 +02:00
rethook.c s390/rethook: add local rethook header file 2023-02-06 11:13:53 +01:00
rethook.h s390/rethook: add local rethook header file 2023-02-06 11:13:53 +01:00
runtime_instr.c
setup.c s390/setup: fix virtual vs physical address confusion 2024-02-16 14:30:12 +01:00
signal.c s390/fpu: rename save_fpu_regs() to save_user_fpu_regs(), etc 2024-02-16 14:30:15 +01:00
smp.c s390/fpu: move, rename, and merge header files 2024-02-16 14:30:14 +01:00
stacktrace.c s390: add USER_STACKTRACE support 2023-11-05 22:34:57 +01:00
sthyi.c s390 updates for 6.6 merge window 2023-08-28 17:22:39 -07:00
syscall.c s390: add support for BEAR enhancement facility 2021-10-26 15:21:29 +02:00
sysinfo.c s390/sysinfo: allow response buffer in normal memory 2024-03-13 09:23:44 +01:00
text_amode31.S s390/hypfs_diag0c: fix virtual vs physical address confusion 2024-02-09 13:58:13 +01:00
time.c s390/time: make stp_subsys const 2024-02-09 13:58:15 +01:00
topology.c sysctl-6.7-rc1 2023-11-01 20:51:41 -10:00
trace.c
traps.c s390/fpu: rename save_fpu_regs() to save_user_fpu_regs(), etc 2024-02-16 14:30:15 +01:00
unwind_bc.c s390/unwind: avoid duplicated unwinding entries for kretprobes 2022-03-27 22:18:39 +02:00
uprobes.c s390/switch_to: use generic header file 2024-02-12 15:03:33 +01:00
uv.c s390/uv: UV feature check utility 2023-08-28 09:27:55 +00:00
vdso.c s390/vdso: Use generic union vdso_data_store 2024-02-20 20:56:00 +01:00
vmcore_info.c arch, crash: move arch_crash_save_vmcoreinfo() out to file vmcore_info.c 2024-02-23 17:48:25 -08:00
vmlinux.lds.S s390/boot: simplify GOT handling 2024-02-26 10:25:09 +01:00
vtime.c s390/vtime: fix average steal time calculation 2024-03-13 09:23:44 +01:00