linux_kernel/drivers/s390/block
Stefan Haberland 6f117cb854 s390/dasd: fix null pointer dereference for ERP requests
When requeueing all requests on the device request queue to the blocklayer
we might get to an ERP (error recovery) request that is a copy of an
original CQR.

Those requests do not have blocklayer request information or a pointer to
the dasd_queue set. When trying to access those data it will lead to a
null pointer dereference in dasd_requeue_all_requests().

Fix by checking if the request is an ERP request that can simply be
ignored. The blocklayer request will be requeued by the original CQR that
is on the device queue right behind the ERP request.

Fixes: 9487cfd343 ("s390/dasd: fix handling of internal requests")
Cc: <stable@vger.kernel.org> #4.16
Signed-off-by: Stefan Haberland <sth@linux.ibm.com>
Reviewed-by: Jan Hoeppner <hoeppner@linux.ibm.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2020-11-16 08:28:02 -07:00
..
dasd_3990_erp.c s390/dasd: Fix comment spelling 2020-03-17 20:50:19 +01:00
dasd_alias.c s390/dasd: fix endless loop after read unit address configuration 2019-08-01 20:46:14 -06:00
dasd_devmap.c s390/dasd: Recognise data for ESE volumes 2019-07-11 20:39:53 +02:00
dasd_diag.c s390/dasd: Use struct_size() helper 2020-07-15 08:47:11 -06:00
dasd_diag.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dasd_eckd.c s390/dasd: fix data corruption for thin provisioned devices 2020-03-12 07:24:52 -06:00
dasd_eckd.h s390: Replace zero-length array with flexible-array member 2020-02-27 16:02:21 +01:00
dasd_eer.c s390/dasd: Handle out-of-space constraint 2019-07-11 20:39:54 +02:00
dasd_erp.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dasd_fba.c s390/dasd: Fix zero write for FBA devices 2020-09-14 19:40:21 -06:00
dasd_fba.h s390/dasd: fix typo in copyright statement 2019-12-20 11:52:01 -07:00
dasd_genhd.c dasd: cleanup dasd_scan_partitions 2020-09-23 10:43:19 -06:00
dasd_int.h s390/dasd: fix data corruption for thin provisioned devices 2020-03-12 07:24:52 -06:00
dasd_ioctl.c block: add a bdev_is_partition helper 2020-09-25 08:18:57 -06:00
dasd_proc.c proc: convert everything to "struct proc_ops" 2020-02-04 03:05:26 +00:00
dasd.c s390/dasd: fix null pointer dereference for ERP requests 2020-11-16 08:28:02 -07:00
dcssblk.c dcssblk: don't set bd_block_size in ->open 2020-07-01 08:08:15 -06:00
Kconfig s390/dasd: remove IOSCHED_DEADLINE from DASD Kconfig 2020-04-17 08:05:27 -06:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
scm_blk.c blk-mq: move failure injection out of blk_mq_complete_request 2020-06-24 09:15:57 -06:00
scm_blk.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2017-11-13 11:47:01 -08:00
scm_drv.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
xpram.c block: move ->make_request_fn to struct block_device_operations 2020-07-01 07:27:24 -06:00