From: James Smart jsmart2021@gmail.com
commit 6f808bd78e8296b4ded813b7182988d57e1f6176 upstream.
Calls to starget_to_rport() may return NULL. Add check for NULL rport before dereference.
Link: https://lore.kernel.org/r/20220603174329.63777-5-jsmart2021@gmail.com Fixes: bb21fc9911ee ("scsi: lpfc: Use fc_block_rport()") Cc: stable@vger.kernel.org # v5.18 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_scsi.c | 6 ++++++ 1 file changed, 6 insertions(+)
--- a/drivers/scsi/lpfc/lpfc_scsi.c +++ b/drivers/scsi/lpfc/lpfc_scsi.c @@ -6316,6 +6316,9 @@ lpfc_device_reset_handler(struct scsi_cm int status; u32 logit = LOG_FCP;
+ if (!rport) + return FAILED; + rdata = rport->dd_data; if (!rdata || !rdata->pnode) { lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT, @@ -6394,6 +6397,9 @@ lpfc_target_reset_handler(struct scsi_cm unsigned long flags; DECLARE_WAIT_QUEUE_HEAD_ONSTACK(waitq);
+ if (!rport) + return FAILED; + rdata = rport->dd_data; if (!rdata || !rdata->pnode) { lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT,