1
0
Fork 0
alistair23-linux/drivers/s390/block
Stefan Haberland ee6f0605e0 s390/dasd: fix memleak in path handling error case
[ Upstream commit 00b39f698a ]

If for whatever reason the dasd_eckd_check_characteristics() function
exits after at least some paths have their configuration data
allocated those data is never freed again. In the error case the
device->private pointer is set to NULL and dasd_eckd_uncheck_device()
will exit without freeing the path data because of this NULL pointer.

Fix by calling dasd_eckd_clear_conf_data() for error cases.

Also use dasd_eckd_clear_conf_data() in dasd_eckd_uncheck_device()
to avoid code duplication.

Reported-by: Qian Cai <cai@lca.pw>
Reviewed-by: Jan Hoeppner <hoeppner@linux.ibm.com>
Signed-off-by: Stefan Haberland <sth@linux.ibm.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-01-12 12:21:43 +01:00
..
Kconfig s390/Kconfig: pedantic cleanups 2019-06-04 15:03:46 +02:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dasd.c s390/dasd: Handle out-of-space constraint 2019-07-11 20:39:54 +02:00
dasd_3990_erp.c s390/dasd: configurable IFCC handling 2018-02-22 15:31:23 +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: Make dasd_setup_queue() a discipline function 2019-07-11 20:39:54 +02: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 memleak in path handling error case 2020-01-12 12:21:43 +01:00
dasd_eckd.h s390/dasd: Handle out-of-space constraint 2019-07-11 20:39:54 +02: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: Use ALIGN_DOWN macro 2019-07-11 20:39:54 +02:00
dasd_fba.h s390/dasd: Make dasd_setup_queue() a discipline function 2019-07-11 20:39:54 +02:00
dasd_genhd.c block: genhd: add 'groups' argument to device_add_disk 2018-09-28 08:30:28 -06:00
dasd_int.h s390/dasd: Handle out-of-space constraint 2019-07-11 20:39:54 +02:00
dasd_ioctl.c s390/dasd: Add new ioctl to release space 2019-07-11 20:39:54 +02:00
dasd_proc.c s390/drivers: fix proc/debugfs file permissions 2018-12-13 10:42:24 +01:00
dcssblk.c libnvdimm: add dax_dev sync flag 2019-07-05 15:19:10 -07:00
scm_blk.c block: genhd: add 'groups' argument to device_add_disk 2018-09-28 08:30:28 -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: Use blk_queue_flag_*() in drivers instead of queue_flag_*() 2018-03-08 14:13:48 -07:00