summaryrefslogtreecommitdiff
path: root/drivers/scsi/qedi/qedi_dbg.h
diff options
context:
space:
mode:
authorMike Christie <michael.christie@oracle.com>2021-05-25 21:18:13 +0300
committerMartin K. Petersen <martin.petersen@oracle.com>2021-06-02 08:28:22 +0300
commit2ce002366a3fcc3f9616d4583194f65dde0ad253 (patch)
treea903c9dafd4d2b64ef81572c2f81ee8446826fc1 /drivers/scsi/qedi/qedi_dbg.h
parent5777b7f0f03ce49372203b6521631f62f2810c8f (diff)
downloadlinux-2ce002366a3fcc3f9616d4583194f65dde0ad253.tar.xz
scsi: qedi: Fix race during abort timeouts
If the SCSI cmd completes after qedi_tmf_work calls iscsi_itt_to_task then the qedi qedi_cmd->task_id could be freed and used for another cmd. If we then call qedi_iscsi_cleanup_task with that task_id we will be cleaning up the wrong cmd. Wait to release the task_id until the last put has been done on the iscsi_task. Because libiscsi grabs a ref to the task when sending the abort, we know that for the non-abort timeout case that the task_id we are referencing is for the cmd that was supposed to be aborted. A latter commit will fix the case where the abort times out while we are running qedi_tmf_work. Link: https://lore.kernel.org/r/20210525181821.7617-21-michael.christie@oracle.com Reviewed-by: Manish Rangankar <mrangankar@marvell.com> Signed-off-by: Mike Christie <michael.christie@oracle.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/qedi/qedi_dbg.h')
0 files changed, 0 insertions, 0 deletions