提交 1df627b4 编写于 作者: B Bart Van Assche 提交者: Martin K. Petersen

scsi: qla2xxx: Do not corrupt vha->plogi_ack_list

Delete the PLOGIN ACK data structure from the vha->plogi_ack_list before
freeing that data structure to avoid that that list gets corrupted.

Cc: Himanshu Madhani <hmadhani@marvell.com>
Signed-off-by: NBart Van Assche <bvanassche@acm.org>
Tested-by: NHimanshu Madhani <hmadhani@marvell.com>
Reviewed-by: NHimanshu Madhani <hmadhani@marvell.com>
Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
上级 b3e9772d
......@@ -5083,8 +5083,10 @@ void qla24xx_create_new_sess(struct scsi_qla_host *vha, struct qla_work_evt *e)
"%s %8phC mem alloc fail.\n",
__func__, e->u.new_sess.port_name);
if (pla)
if (pla) {
list_del(&pla->list);
kmem_cache_free(qla_tgt_plogi_cachep, pla);
}
return;
}
......@@ -5195,8 +5197,10 @@ void qla24xx_create_new_sess(struct scsi_qla_host *vha, struct qla_work_evt *e)
if (free_fcport) {
qla2x00_free_fcport(fcport);
if (pla)
if (pla) {
list_del(&pla->list);
kmem_cache_free(qla_tgt_plogi_cachep, pla);
}
}
}
......
......@@ -4796,8 +4796,10 @@ static int qlt_handle_login(struct scsi_qla_host *vha,
__func__, sess->port_name, sec);
}
if (!conflict_sess)
if (!conflict_sess) {
list_del(&pla->list);
kmem_cache_free(qla_tgt_plogi_cachep, pla);
}
qlt_send_term_imm_notif(vha, iocb, 1);
goto out;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册