lkml.org 
[lkml]   [2022]   [Aug]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.15 183/244] scsi: lpfc: Fix possible memory leak when failing to issue CMF WQE
    Date
    From: James Smart <jsmart2021@gmail.com>

    [ Upstream commit 2f67dc7970bce3529edce93a0a14234d88b3fcd5 ]

    There is no corresponding free routine if lpfc_sli4_issue_wqe fails to
    issue the CMF WQE in lpfc_issue_cmf_sync_wqe.

    If ret_val is non-zero, then free the iocbq request structure.

    Link: https://lore.kernel.org/r/20220701211425.2708-6-jsmart2021@gmail.com
    Co-developed-by: Justin Tee <justin.tee@broadcom.com>
    Signed-off-by: Justin Tee <justin.tee@broadcom.com>
    Signed-off-by: James Smart <jsmart2021@gmail.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/scsi/lpfc/lpfc_sli.c | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    diff --git a/drivers/scsi/lpfc/lpfc_sli.c b/drivers/scsi/lpfc/lpfc_sli.c
    index fb69416c9623..f594a006d04c 100644
    --- a/drivers/scsi/lpfc/lpfc_sli.c
    +++ b/drivers/scsi/lpfc/lpfc_sli.c
    @@ -2012,10 +2012,12 @@ lpfc_issue_cmf_sync_wqe(struct lpfc_hba *phba, u32 ms, u64 total)

    sync_buf->cmd_flag |= LPFC_IO_CMF;
    ret_val = lpfc_sli4_issue_wqe(phba, &phba->sli4_hba.hdwq[0], sync_buf);
    - if (ret_val)
    + if (ret_val) {
    lpfc_printf_log(phba, KERN_INFO, LOG_CGN_MGMT,
    "6214 Cannot issue CMF_SYNC_WQE: x%x\n",
    ret_val);
    + __lpfc_sli_release_iocbq(phba, sync_buf);
    + }
    out_unlock:
    spin_unlock_irqrestore(&phba->hbalock, iflags);
    return ret_val;
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-08-23 12:28    [W:5.737 / U:0.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site