scsi: libfc: fix null pointer dereference on a null lport
authorColin Ian King <colin.king@canonical.com>
Tue, 2 Jul 2019 09:18:35 +0000 (10:18 +0100)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 17 Jul 2019 02:32:24 +0000 (22:32 -0400)
Currently if lport is null then the null lport pointer is dereference when
printing out debug via the FC_LPORT_DB macro. Fix this by using the more
generic FC_LIBFC_DBG debug macro instead that does not use lport.

Addresses-Coverity: ("Dereference after null check")
Fixes: 7414705ea4ae ("libfc: Add runtime debugging with debug_logging module parameter")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Reviewed-by: Hannes Reinecke <hare@suse.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/libfc/fc_exch.c

index 025cd2f..0c87b97 100644 (file)
@@ -2591,7 +2591,7 @@ void fc_exch_recv(struct fc_lport *lport, struct fc_frame *fp)
 
        /* lport lock ? */
        if (!lport || lport->state == LPORT_ST_DISABLED) {
-               FC_LPORT_DBG(lport, "Receiving frames for an lport that "
+               FC_LIBFC_DBG("Receiving frames for an lport that "
                             "has not been initialized correctly\n");
                fc_frame_free(fp);
                return;