linux/drivers/s390/char
Peter Oberparleiter 430fa71027 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: ada1da31ce ("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>
2025-08-20 16:37:27 +02:00
..
Kconfig s390: Remove protvirt and kvm config guards for uv code 2024-07-23 16:02:33 +02:00
Makefile
con3215.c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
con3270.c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
ctrlchar.c
ctrlchar.h
defkeymap.c
defkeymap.map
diag_ftp.c s390: Remove optional third argument of strscpy() if possible 2025-04-17 15:16:10 +02:00
diag_ftp.h
fs3270.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
hmcdrv_cache.c
hmcdrv_cache.h
hmcdrv_dev.c s390: remove unused f_version 2024-09-09 11:58:07 +02:00
hmcdrv_dev.h
hmcdrv_ftp.c s390: Convert MACHINE_IS_[LPAR|VM|KVM], etc, machine_is_[lpar|vm|kvm]() 2025-03-04 17:18:07 +01:00
hmcdrv_ftp.h
hmcdrv_mod.c
keyboard.c s390/drivers: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
keyboard.h
monreader.c s390: Convert MACHINE_IS_[LPAR|VM|KVM], etc, machine_is_[lpar|vm|kvm]() 2025-03-04 17:18:07 +01:00
monwriter.c s390: Convert MACHINE_IS_[LPAR|VM|KVM], etc, machine_is_[lpar|vm|kvm]() 2025-03-04 17:18:07 +01:00
raw3270.c s390/drivers: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
raw3270.h
sclp.c s390/sclp: Fix SCCB present check 2025-08-20 16:37:27 +02:00
sclp.h s390: Use inline qualifier for all EX_TABLE and ALTERNATIVE inline assemblies 2025-03-18 17:13:51 +01:00
sclp_ap.c
sclp_cmd.c s390/drivers: Remove unnecessary include <linux/export.h> 2025-06-17 18:18:03 +02:00
sclp_con.c treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
sclp_config.c sysfs: treewide: switch back to bin_attribute::read()/write() 2025-06-17 10:44:13 +02:00
sclp_cpi_sys.c s390/sclp_cpi: Switch over to sysfs_emit() 2024-10-25 16:03:26 +02:00
sclp_cpi_sys.h
sclp_ctl.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
sclp_diag.h
sclp_early.c s390/drivers: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
sclp_early_core.c s390/kvm: Convert MACHINE_HAS_ESOP to machine_has_esop() 2025-03-04 17:18:06 +01:00
sclp_ftp.c
sclp_ftp.h
sclp_ocf.c s390/drivers: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
sclp_pci.c s390/pci: Report PCI error recovery results via SCLP 2024-12-16 16:14:26 +01:00
sclp_quiesce.c
sclp_rw.c
sclp_rw.h
sclp_sd.c s390 updates for 6.17 merge window 2025-07-29 20:17:08 -07:00
sclp_sdias.c
sclp_sdias.h
sclp_tty.c s390/tty: Fix a potential memory leak bug 2025-03-04 17:18:08 +01:00
sclp_tty.h
sclp_vt220.c treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
tape.h
tape_34xx.c s390/drivers: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
tape_3590.c s390/drivers: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
tape_3590.h
tape_char.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
tape_class.c s390/drivers: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
tape_class.h
tape_core.c s390/drivers: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
tape_proc.c
tape_std.c s390/drivers: Explicitly include <linux/export.h> 2025-06-17 18:18:02 +02:00
tape_std.h
uvdevice.c s390/uvdevice: Fix and slightly improve kernel-doc comment 2024-11-07 10:37:00 +01:00
vmcp.c s390/drivers: Remove unnecessary include <linux/export.h> 2025-06-17 18:18:03 +02:00
vmlogrdr.c treewide: fix typo "previlege" 2025-05-11 17:54:10 -07:00
vmur.c s390: Convert MACHINE_IS_[LPAR|VM|KVM], etc, machine_is_[lpar|vm|kvm]() 2025-03-04 17:18:07 +01:00
vmur.h
zcore.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00