]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
scsi: qla2xxx: Check valid rport returned by fc_bsg_to_rport()
authorNilesh Javali <njavali@marvell.com>
Wed, 7 Jun 2023 11:38:39 +0000 (17:08 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 11 Aug 2023 09:33:47 +0000 (11:33 +0200)
commit af73f23a27206ffb3c477cac75b5fcf03410556e upstream.

Klocwork reported warning of rport maybe NULL and will be dereferenced.
rport returned by call to fc_bsg_to_rport() could be NULL and dereferenced.

Check valid rport returned by fc_bsg_to_rport().

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

index b50478fa14ad3913dd315e28db13c590ec459156..492236f0e9b2759b51756caa671614e9001eedb8 100644 (file)
@@ -264,6 +264,10 @@ qla2x00_process_els(struct bsg_job *bsg_job)
 
        if (bsg_request->msgcode == FC_BSG_RPT_ELS) {
                rport = fc_bsg_to_rport(bsg_job);
+               if (!rport) {
+                       rval = -ENOMEM;
+                       goto done;
+               }
                fcport = *(fc_port_t **) rport->dd_data;
                host = rport_to_shost(rport);
                vha = shost_priv(host);