scsi: qla2xxx: Avoid fcport pointer dereference
authorNilesh Javali <njavali@marvell.com>
Wed, 7 Jun 2023 11:38:38 +0000 (17:08 +0530)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 15 Jun 2023 02:06:01 +0000 (22:06 -0400)
Klocwork reported warning of NULL pointer may be dereferenced.  The routine
exits when sa_ctl is NULL and fcport is allocated after the exit call thus
causing NULL fcport pointer to dereference at the time of exit.

To avoid fcport pointer dereference, exit the routine when sa_ctl is NULL.

Cc: stable@vger.kernel.org
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Link: https://lore.kernel.org/r/20230607113843.37185-4-njavali@marvell.com
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qla2xxx/qla_edif.c

index ec0e20255bd3b8bfadb8db5fb4ab5aa1c15d0156..26e6b3e3af4317ca088941bc5bab37c15aebfd32 100644 (file)
@@ -2361,8 +2361,8 @@ qla24xx_issue_sa_replace_iocb(scsi_qla_host_t *vha, struct qla_work_evt *e)
        if (!sa_ctl) {
                ql_dbg(ql_dbg_edif, vha, 0x70e6,
                    "sa_ctl allocation failed\n");
-               rval =  -ENOMEM;
-               goto done;
+               rval = -ENOMEM;
+               return rval;
        }
 
        fcport = sa_ctl->fcport;