linux/drivers/s390
Peter Oberparleiter 61605c8475 s390/sclp: Fix SCCB present check
commit 430fa71027 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2025-08-28 16:31:06 +02:00
..
block s390/dasd: fix error recovery leading to data corruption on ESE devices 2024-08-12 10:31:08 -06:00
char s390/sclp: Fix SCCB present check 2025-08-28 16:31:06 +02:00
cio s390/cio: Fix CHPID "configure" attribute caching 2025-03-22 12:54:17 -07:00
crypto s390/ap: Unmask SLCF bit in card and queue ap functions sysfs 2025-08-15 12:14:05 +02:00
net s390/ism: fix concurrency management in ism_cmd() 2025-08-01 09:48:42 +01:00
scsi scsi: s390: zfcp: Ensure synchronous unit_add 2025-06-27 11:11:37 +01:00
virtio s390/virtio_ccw: Don't allocate/assign airqs for non-existing queues 2025-04-20 10:15:59 +02:00
Makefile s390: remove pointless drivers-y in drivers/s390/Makefile 2019-09-16 13:21:51 +02:00