Patch "scsi: lpfc: fix: Coverity: lpfc_cmpl_els_rsp(): Null pointer dereferences" has been added to the 4.4-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    scsi: lpfc: fix: Coverity: lpfc_cmpl_els_rsp(): Null pointer dereferences

to the 4.4-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     scsi-lpfc-fix-coverity-lpfc_cmpl_els_rsp-null-pointe.patch
and it can be found in the queue-4.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 6f4c3f85450e614e154a9e62fa00cf302f26318a
Author: James Smart <jsmart2021@xxxxxxxxx>
Date:   Mon Nov 11 15:03:57 2019 -0800

    scsi: lpfc: fix: Coverity: lpfc_cmpl_els_rsp(): Null pointer dereferences
    
    [ Upstream commit 6c6d59e0fe5b86cf273d6d744a6a9768c4ecc756 ]
    
    Coverity reported the following:
    
    *** CID 101747:  Null pointer dereferences  (FORWARD_NULL)
    /drivers/scsi/lpfc/lpfc_els.c: 4439 in lpfc_cmpl_els_rsp()
    4433                            kfree(mp);
    4434                    }
    4435                    mempool_free(mbox, phba->mbox_mem_pool);
    4436            }
    4437     out:
    4438            if (ndlp && NLP_CHK_NODE_ACT(ndlp)) {
    vvv     CID 101747:  Null pointer dereferences  (FORWARD_NULL)
    vvv     Dereferencing null pointer "shost".
    4439                    spin_lock_irq(shost->host_lock);
    4440                    ndlp->nlp_flag &= ~(NLP_ACC_REGLOGIN | NLP_RM_DFLT_RPI);
    4441                    spin_unlock_irq(shost->host_lock);
    4442
    4443                    /* If the node is not being used by another discovery thread,
    4444                     * and we are sending a reject, we are done with it.
    
    Fix by adding a check for non-null shost in line 4438.
    The scenario when shost is set to null is when ndlp is null.
    As such, the ndlp check present was sufficient. But better safe
    than sorry so add the shost check.
    
    Reported-by: coverity-bot <keescook+coverity-bot@xxxxxxxxxxxx>
    Addresses-Coverity-ID: 101747 ("Null pointer dereferences")
    Fixes: 2e0fef85e098 ("[SCSI] lpfc: NPIV: split ports")
    
    CC: James Bottomley <James.Bottomley@xxxxxxxxxxxx>
    CC: "Gustavo A. R. Silva" <gustavo@xxxxxxxxxxxxxx>
    CC: linux-next@xxxxxxxxxxxxxxx
    Link: https://lore.kernel.org/r/20191111230401.12958-3-jsmart2021@xxxxxxxxx
    Reviewed-by: Ewan D. Milne <emilne@xxxxxxxxxx>
    Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxxxx>
    Signed-off-by: James Smart <jsmart2021@xxxxxxxxx>
    Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/scsi/lpfc/lpfc_els.c b/drivers/scsi/lpfc/lpfc_els.c
index 7ca8c2522c92..530b7df21322 100644
--- a/drivers/scsi/lpfc/lpfc_els.c
+++ b/drivers/scsi/lpfc/lpfc_els.c
@@ -3839,7 +3839,7 @@ lpfc_cmpl_els_rsp(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
 		mempool_free(mbox, phba->mbox_mem_pool);
 	}
 out:
-	if (ndlp && NLP_CHK_NODE_ACT(ndlp)) {
+	if (ndlp && NLP_CHK_NODE_ACT(ndlp) && shost) {
 		spin_lock_irq(shost->host_lock);
 		ndlp->nlp_flag &= ~(NLP_ACC_REGLOGIN | NLP_RM_DFLT_RPI);
 		spin_unlock_irq(shost->host_lock);



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux