mirror of
https://github.com/SCST-project/scst.git
synced 2026-05-23 21:51:27 +00:00
qla2x00t-32gbit: 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>
[ commit e82f04ec6ba91065fd33a6201ffd7cab840e1475 upstream ]
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8629 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
@@ -4812,7 +4812,7 @@ qla2x00_alloc_fcport(scsi_qla_host_t *vha, gfp_t flags)
|
||||
ql_log(ql_log_warn, vha, 0xd049,
|
||||
"Failed to allocate ct_sns request.\n");
|
||||
kfree(fcport);
|
||||
fcport = NULL;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
INIT_WORK(&fcport->del_work, qla24xx_delete_sess_fn);
|
||||
|
||||
Reference in New Issue
Block a user