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 <skashyap@marvell.com> Signed-off-by: Javed Hasan <jhasan@marvell.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
a521bbc38d
commit
7fb8ff0806
@ -883,6 +883,11 @@ static void qedf_rec_compl(struct qedf_els_cb_arg *cb_arg)
|
|||||||
opcode = fc_frame_payload_op(fp);
|
opcode = fc_frame_payload_op(fp);
|
||||||
if (opcode == ELS_LS_RJT) {
|
if (opcode == ELS_LS_RJT) {
|
||||||
rjt = fc_frame_payload_get(fp, sizeof(*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,
|
QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_ELS,
|
||||||
"Received LS_RJT for REC: er_reason=0x%x, "
|
"Received LS_RJT for REC: er_reason=0x%x, "
|
||||||
"er_explan=0x%x.\n", rjt->er_reason, rjt->er_explan);
|
"er_explan=0x%x.\n", rjt->er_reason, rjt->er_explan);
|
||||||
|
Loading…
Reference in New Issue
Block a user