Centos-kernel-stream-9/drivers/s390/char
CKI Backport Bot 43725bdb9c s390/sclp: Fix SCCB present check
JIRA: https://issues.redhat.com/browse/RHEL-113557
CVE: CVE-2025-39694
Y-Commit: 430fa71027b6ac9bb0ce5532b8d0676777d4219a

s390/sclp: Fix SCCB present check

Tracing code called by the SCLP interrupt handler contains early exits
if the SCCB address associated with an interrupt is NULL. This check is
performed after physical to virtual address translation.

If the kernel identity mapping does not start at address zero, the
resulting virtual address is never zero, so that the NULL checks won't
work. Subsequently this may result in incorrect accesses to the first
page of the identity mapping.

Fix this by introducing a function that handles the NULL case before
address translation.

Fixes: ada1da31ce34 ("s390/sclp: sort out physical vs virtual pointers usage")
Cc: stable@vger.kernel.org
Reviewed-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
(cherry picked from commit 430fa71027b6ac9bb0ce5532b8d0676777d4219a)
Signed-off-by: CKI Backport Bot <cki-ci-bot+cki-gitlab-backport-bot@redhat.com>
2025-09-08 14:39:08 +00:00
..
Kconfig s390: Remove protvirt and kvm config guards for uv code 2024-12-04 11:51:21 +01:00
Makefile s390/ap: modularize ap bus 2025-05-12 13:03:07 +02:00
con3215.c s390/3215: use new address translation helpers 2025-05-12 13:03:05 +02:00
con3270.c
ctrlchar.c
ctrlchar.h
defkeymap.c
defkeymap.map
diag_ftp.c s390/ctlreg: rename ctl_reg.h to ctlreg.h 2024-09-09 21:46:04 +02:00
diag_ftp.h
fs3270.c s390/cio,idal: fix virtual vs physical address confusion 2025-05-12 13:03:05 +02:00
hmcdrv_cache.c
hmcdrv_cache.h
hmcdrv_dev.c
hmcdrv_dev.h
hmcdrv_ftp.c
hmcdrv_ftp.h
hmcdrv_mod.c
keyboard.c
keyboard.h
monreader.c s390/monreader: fix virtual vs physical address confusion 2024-09-06 17:33:53 +02:00
monwriter.c
raw3270.c s390/3270: Fix buffer assignment 2025-05-12 13:03:06 +02:00
raw3270.h s390/raw3270: fix indentation/whitespace errors 2025-05-12 13:03:05 +02:00
sclp.c s390/sclp: Fix SCCB present check 2025-09-08 14:39:08 +00:00
sclp.h s390/diag324: Retrieve power readings via diag 0x324 2025-04-01 15:28:54 +02:00
sclp_ap.c
sclp_cmd.c s390/mm: implement MEM_PREPARE_ONLINE/MEM_FINISH_OFFLINE notifiers 2025-05-12 13:03:03 +02:00
sclp_con.c
sclp_config.c
sclp_cpi_sys.c
sclp_cpi_sys.h
sclp_ctl.c
sclp_diag.h
sclp_early.c s390/diag: Add memory topology information via diag310 2025-04-17 14:52:46 +02:00
sclp_early_core.c s390/ctlreg: add struct ctlreg 2024-09-09 21:46:05 +02:00
sclp_ftp.c s390/hmcdrv: use strscpy() instead of strlcpy() 2024-09-06 17:33:41 +02:00
sclp_ftp.h
sclp_ocf.c
sclp_pci.c s390/pci: Report PCI error recovery results via SCLP 2025-01-16 13:58:02 +01:00
sclp_quiesce.c
sclp_rw.c
sclp_rw.h
sclp_sd.c
sclp_sdias.c
sclp_sdias.h
sclp_tty.c
sclp_tty.h
sclp_vt220.c
tape.h s390/tape: fix virtual vs physical address confusion 2025-05-12 13:03:05 +02:00
tape_34xx.c
tape_3590.c
tape_3590.h
tape_char.c
tape_class.c s390/tape: make tape_class constant 2025-05-12 13:03:05 +02:00
tape_class.h
tape_core.c
tape_proc.c
tape_std.c
tape_std.h
tty3270.c s390/tty3270: add tty3270_create_view() 2024-09-06 17:33:37 +02:00
tty3270.h
uvdevice.c s390/uvdevice: Report additional-data length for attestation 2025-05-12 13:02:57 +02:00
vmcp.c
vmlogrdr.c s390/vmlogrdr: Make use of iucv_alloc_device() 2025-05-12 13:03:11 +02:00
vmur.c s390/vmur: make vmur_class constant 2025-05-12 13:03:05 +02:00
vmur.h
zcore.c docs: move s390 under arch 2024-09-06 17:33:51 +02:00