1
0
Fork 0
alistair23-linux/drivers/scsi/qla2xxx
Jia-Ju Bai e82f04ec6b scsi: qla2xxx: Fix possible fcport null-pointer dereferences
In qla2x00_alloc_fcport(), fcport is assigned to NULL in the error
handling code on line 4880:
    fcport = NULL;

Then fcport is used on lines 4883-4886:
    INIT_WORK(&fcport->del_work, qla24xx_delete_sess_fn);
	INIT_WORK(&fcport->reg_work, qla_register_fcport_fn);
	INIT_LIST_HEAD(&fcport->gnl_entry);
	INIT_LIST_HEAD(&fcport->list);

Thus, possible null-pointer dereferences may occur.

To fix these bugs, qla2x00_alloc_fcport() directly returns NULL
in the error handling code.

These bugs are found by a static analysis tool STCheck written by us.

Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com>
Acked-by: Himanshu Madhani <hmadhani@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2019-07-30 12:49:46 -04:00
..
Kconfig treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50: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
qla_attr.c scsi: qla2xxx: Insert spaces where required 2019-04-15 22:04:40 -04:00
qla_bsg.c scsi: qla2xxx: Introduce the dsd32 and dsd64 data structures 2019-04-29 17:24:51 -04:00
qla_bsg.h scsi: qla2xxx: Add 28xx flash primary/secondary status/image mechanism 2019-03-19 12:22:55 -04:00
qla_dbg.c scsi: qla2xxx: Insert spaces where required 2019-04-15 22:04:40 -04:00
qla_dbg.h scsi: qla2xxx: Cleanups for NVRAM/Flash read/write path 2019-03-19 12:22:54 -04:00
qla_def.h scsi: qla2xxx: move IO flush to the front of NVME rport unregistration 2019-06-27 00:10:55 -04:00
qla_devtbl.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
qla_dfs.c scsi: qla2xxx: Leave a blank line after declarations 2019-04-15 22:04:39 -04:00
qla_dsd.h scsi: qla2xxx: Introduce the dsd32 and dsd64 data structures 2019-04-29 17:24:51 -04:00
qla_fw.h scsi: qla2xxx: Use __le64 instead of uint32_t[2] for sending DMA addresses to firmware 2019-04-29 17:24:51 -04:00
qla_gbl.h scsi: qla2xxx: move IO flush to the front of NVME rport unregistration 2019-06-27 00:10:55 -04:00
qla_gs.c scsi: qla2xxx: Use __le64 instead of uint32_t[2] for sending DMA addresses to firmware 2019-04-29 17:24:51 -04:00
qla_init.c scsi: qla2xxx: Fix possible fcport null-pointer dereferences 2019-07-30 12:49:46 -04:00
qla_inline.h scsi: qla2xxx: Uninline qla2x00_init_timer() 2019-04-29 17:24:49 -04:00
qla_iocb.c scsi: qla2xxx: Use __le64 instead of uint32_t[2] for sending DMA addresses to firmware 2019-04-29 17:24:51 -04:00
qla_isr.c scsi: qla2xxx: Fix a qla24xx_enable_msix() error path 2019-04-29 17:24:50 -04:00
qla_mbx.c scsi: qla2xxx: Log the status code if a firmware command fails 2019-04-29 17:24:49 -04:00
qla_mid.c scsi: qla2xxx: Use an on-stack completion in qla24xx_control_vp() 2019-04-29 17:24:51 -04:00
qla_mr.c scsi: qla2xxx: Use __le64 instead of uint32_t[2] for sending DMA addresses to firmware 2019-04-29 17:24:51 -04:00
qla_mr.h scsi: qla2xxx: Introduce the dsd32 and dsd64 data structures 2019-04-29 17:24:51 -04:00
qla_nvme.c scsi: qla2xxx: move IO flush to the front of NVME rport unregistration 2019-06-27 00:10:55 -04:00
qla_nvme.h scsi: qla2xxx: Fix NVME cmd and LS cmd timeout race condition 2019-06-27 00:09:18 -04:00
qla_nx.c scsi: qla2xxx: Use __le64 instead of uint32_t[2] for sending DMA addresses to firmware 2019-04-29 17:24:51 -04:00
qla_nx.h scsi: qla2xxx: Move the <linux/io-64-nonatomic-lo-hi.h> include directive 2019-04-15 22:04:40 -04:00
qla_nx2.c scsi: qla2xxx: Increase the size of the mailbox arrays from 4 to 8 2019-04-29 17:24:49 -04:00
qla_nx2.h scsi: qla2xxx: Remove unused symbols 2018-02-12 11:43:24 -05:00
qla_os.c SCSI misc on 20190709 2019-07-11 15:14:01 -07:00
qla_settings.h qla2xxx: Change copyright year to 2014 in all the source files. 2014-05-19 13:31:02 +02:00
qla_sup.c scsi: qla2xxx: Insert spaces where required 2019-04-15 22:04:40 -04:00
qla_target.c SCSI misc on 20190709 2019-07-11 15:14:01 -07:00
qla_target.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
qla_tmpl.c scsi: qla2xxx: Simplification of register address used in qla_tmpl.c 2019-03-19 12:22:55 -04:00
qla_tmpl.h scsi: qla2xxx: Correction and improvement to fwdt processing 2019-03-19 12:22:55 -04:00
qla_version.h scsi: qla2xxx: Update driver version to 10.01.00.16-k 2019-04-03 23:45:59 -04:00
tcm_qla2xxx.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
tcm_qla2xxx.h scsi: qla2xxx: deadlock by configfs_depend_item 2018-12-19 21:26:38 -05:00