lkml.org 
[lkml]   [2022]   [Jan]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.16 0866/1039] scsi: lpfc: Fix lpfc_force_rscn ndlp kref imbalance
    Date
    From: James Smart <jsmart2021@gmail.com>

    commit 7576d48c64f36f6fea9df2882f710a474fa35f40 upstream.

    Issuing lpfc_force_rscn twice results in an ndlp kref use-after-free call
    trace.

    A prior patch reworked the get/put handling by ensuring nlp_get was done
    before WQE submission and a put was done in the completion path.
    Unfortunately, the issue_els_rscn path had a piece of legacy code that did
    a nlp_put, causing an imbalance on the ref counts.

    Fixed by removing the unnecessary legacy code snippet.

    Link: https://lore.kernel.org/r/20211204002644.116455-4-jsmart2021@gmail.com
    Fixes: 4430f7fd09ec ("scsi: lpfc: Rework locations of ndlp reference taking")
    Cc: <stable@vger.kernel.org> # v5.11+
    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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/scsi/lpfc/lpfc_els.c | 5 -----
    1 file changed, 5 deletions(-)

    --- a/drivers/scsi/lpfc/lpfc_els.c
    +++ b/drivers/scsi/lpfc/lpfc_els.c
    @@ -3538,11 +3538,6 @@ lpfc_issue_els_rscn(struct lpfc_vport *v
    return 1;
    }

    - /* This will cause the callback-function lpfc_cmpl_els_cmd to
    - * trigger the release of node.
    - */
    - if (!(vport->fc_flag & FC_PT2PT))
    - lpfc_nlp_put(ndlp);
    return 0;
    }


    \
     
     \ /
      Last update: 2022-01-25 00:11    [W:4.038 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site