From: Mike Christie Date: Tue, 25 May 2021 18:18:08 +0000 (-0500) Subject: scsi: iscsi: Fix completion check during abort races X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=f6f9645744702f4690e884e86523a7ce1895e221;p=linux.git scsi: iscsi: Fix completion check during abort races We have a ref to the task being aborted, so SCp.ptr will never be NULL. We need to use iscsi_task_is_completed to check for the completed state. Link: https://lore.kernel.org/r/20210525181821.7617-16-michael.christie@oracle.com Reviewed-by: Lee Duncan Signed-off-by: Mike Christie Signed-off-by: Martin K. Petersen --- diff --git a/drivers/scsi/libiscsi.c b/drivers/scsi/libiscsi.c index 94abb093098d2..8222db4f8fef6 100644 --- a/drivers/scsi/libiscsi.c +++ b/drivers/scsi/libiscsi.c @@ -2338,7 +2338,7 @@ int iscsi_eh_abort(struct scsi_cmnd *sc) iscsi_conn_failure(conn, ISCSI_ERR_SCSI_EH_SESSION_RST); goto failed_unlocked; case TMF_NOT_FOUND: - if (!sc->SCp.ptr) { + if (iscsi_task_is_completed(task)) { session->tmf_state = TMF_INITIAL; memset(hdr, 0, sizeof(*hdr)); /* task completed before tmf abort response */