[PATCH] tgtd: fix leak of task_in_scsi flag

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



When target_mgmt_request() function receives unknown or unsupported
task management function code or task was already completed for
ABORT_TASK request, iscsi_tm_execute() and iser_tm_exec() functions
exit without clearing task_in_scsi flag even though scsi command is
not in processing.

This is because the current implementation of target_mgmt_request()
function returns -EINVAL or -EEXIST for the above cases and
iscsi_tm_execute() and iser_tm_exec() do not handle these return
codes.

This fixes the issue by changing the return value of
target_mgmt_request() to MGMT_REQ_FAILED for such cases.

Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx>
---
 usr/target.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/usr/target.c b/usr/target.c
index b6f324c..0f3066b 100644
--- a/usr/target.c
+++ b/usr/target.c
@@ -1454,7 +1454,7 @@ enum mgmt_req_result target_mgmt_request(int tid, uint64_t itn_id,
 	}
 
 	if (err)
-		return err;
+		return MGMT_REQ_FAILED;
 	else if (send)
 		return MGMT_REQ_DONE;
 
-- 
1.7.9.3

--
To unsubscribe from this list: send the line "unsubscribe stgt" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux SCSI]     [Linux RAID]     [Linux Clusters]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]

  Powered by Linux