Patch "scsi: lpfc: Fix list_entry null check warning in lpfc_cmpl_els_plogi()" has been added to the 6.7-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 list_entry null check warning in lpfc_cmpl_els_plogi()

to the 6.7-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-list_entry-null-check-warning-in-lpfc_.patch
and it can be found in the queue-6.7 subdirectory.

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



commit c94eb0560ae71b06cd38e83809fbafa717d3f56b
Author: Justin Tee <justin.tee@xxxxxxxxxxxx>
Date:   Tue Oct 31 12:12:18 2023 -0700

    scsi: lpfc: Fix list_entry null check warning in lpfc_cmpl_els_plogi()
    
    [ Upstream commit 1dec1311b9b6cc9c5fd26a77b936f542f03c51d1 ]
    
    Smatch called out a warning for null checking a ptr that is assigned by
    list_entry(). list_entry() does not return null and, if the list is empty,
    can return an invalid ptr. Thus, the !psrp check does not execute properly.
    
     drivers/scsi/lpfc/lpfc_els.c:2133 lpfc_cmpl_els_plogi()
     warn: list_entry() does not return NULL 'prsp'
    
    Replace list_entry() with list_get_first(), which does a list_empty() check
    before returning the first entry.
    
    Fixes: a3c3c0a806f1 ("scsi: lpfc: Validate ELS LS_ACC completion payload")
    Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
    Closes: https://lore.kernel.org/linux-scsi/01b7568f-4ab4-4d56-bfa6-9ecc5fc261fe@moroto.mountain/
    Signed-off-by: Justin Tee <justin.tee@xxxxxxxxxxxx>
    Link: https://lore.kernel.org/r/20231031191224.150862-4-justintee8345@xxxxxxxxx
    Reviewed-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx>
    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 f9627eddab08..0829fe6ddff8 100644
--- a/drivers/scsi/lpfc/lpfc_els.c
+++ b/drivers/scsi/lpfc/lpfc_els.c
@@ -2128,8 +2128,8 @@ lpfc_cmpl_els_plogi(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
 						NLP_EVT_DEVICE_RM);
 	} else {
 		/* Good status, call state machine */
-		prsp = list_entry(cmdiocb->cmd_dmabuf->list.next,
-				  struct lpfc_dmabuf, list);
+		prsp = list_get_first(&cmdiocb->cmd_dmabuf->list,
+				      struct lpfc_dmabuf, list);
 		if (!prsp)
 			goto out;
 		if (!lpfc_is_els_acc_rsp(prsp))




[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