Message ID | 20240131003549.147784-3-justintee8345@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | lpfc: Update lpfc to revision 14.4.0.0 | expand |
On 1/30/24 16:35, Justin Tee wrote: > The call to lpfc_sli4_resume_rpi in lpfc_rcv_padisc may return an > unsuccessful status. In such cases, the elsiocb is not issued, the > completion is not called, and thus the elsiocb resource is leaked. > > Check return value after calling lpfc_sli4_resume_rpi and conditionally > release the elsiocb resource. > > Signed-off-by: Justin Tee <justin.tee@broadcom.com> > --- > drivers/scsi/lpfc/lpfc_nportdisc.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/scsi/lpfc/lpfc_nportdisc.c b/drivers/scsi/lpfc/lpfc_nportdisc.c > index d9074929fbab..b147304b01fa 100644 > --- a/drivers/scsi/lpfc/lpfc_nportdisc.c > +++ b/drivers/scsi/lpfc/lpfc_nportdisc.c > @@ -748,8 +748,10 @@ lpfc_rcv_padisc(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, > /* Save the ELS cmd */ > elsiocb->drvrTimeout = cmd; > > - lpfc_sli4_resume_rpi(ndlp, > - lpfc_mbx_cmpl_resume_rpi, elsiocb); > + if (lpfc_sli4_resume_rpi(ndlp, > + lpfc_mbx_cmpl_resume_rpi, > + elsiocb)) > + kfree(elsiocb); > goto out; > } > } Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
diff --git a/drivers/scsi/lpfc/lpfc_nportdisc.c b/drivers/scsi/lpfc/lpfc_nportdisc.c index d9074929fbab..b147304b01fa 100644 --- a/drivers/scsi/lpfc/lpfc_nportdisc.c +++ b/drivers/scsi/lpfc/lpfc_nportdisc.c @@ -748,8 +748,10 @@ lpfc_rcv_padisc(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, /* Save the ELS cmd */ elsiocb->drvrTimeout = cmd; - lpfc_sli4_resume_rpi(ndlp, - lpfc_mbx_cmpl_resume_rpi, elsiocb); + if (lpfc_sli4_resume_rpi(ndlp, + lpfc_mbx_cmpl_resume_rpi, + elsiocb)) + kfree(elsiocb); goto out; } }
The call to lpfc_sli4_resume_rpi in lpfc_rcv_padisc may return an unsuccessful status. In such cases, the elsiocb is not issued, the completion is not called, and thus the elsiocb resource is leaked. Check return value after calling lpfc_sli4_resume_rpi and conditionally release the elsiocb resource. Signed-off-by: Justin Tee <justin.tee@broadcom.com> --- drivers/scsi/lpfc/lpfc_nportdisc.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)