From: Saurav Kashyap Date: Fri, 7 Aug 2020 11:06:51 +0000 (-0700) Subject: scsi: qedf: Check the validity of rjt frame before processing X-Git-Tag: microblaze-v5.11~38^2~239 X-Git-Url: http://git.monstr.eu/?a=commitdiff_plain;h=7fb8ff080689038dd20a5e8661a594911163d910;p=linux-2.6-microblaze.git scsi: qedf: Check the validity of rjt frame before processing This is reported by Klockwork. Link: https://lore.kernel.org/r/20200807110656.19965-3-jhasan@marvell.com Signed-off-by: Saurav Kashyap Signed-off-by: Javed Hasan Signed-off-by: Martin K. Petersen --- diff --git a/drivers/scsi/qedf/qedf_els.c b/drivers/scsi/qedf/qedf_els.c index 542ba9454257..ab4b1a958eab 100644 --- a/drivers/scsi/qedf/qedf_els.c +++ b/drivers/scsi/qedf/qedf_els.c @@ -883,6 +883,11 @@ static void qedf_rec_compl(struct qedf_els_cb_arg *cb_arg) opcode = fc_frame_payload_op(fp); if (opcode == ELS_LS_RJT) { rjt = fc_frame_payload_get(fp, sizeof(*rjt)); + if (!rjt) { + QEDF_ERR(&qedf->dbg_ctx, "payload get failed"); + goto out_free_frame; + } + QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_ELS, "Received LS_RJT for REC: er_reason=0x%x, " "er_explan=0x%x.\n", rjt->er_reason, rjt->er_explan);