From 9bee9a98ff7f9de093314abaf7c46ca89c4020d9 Mon Sep 17 00:00:00 2001 From: Alexander Motin Date: Sun, 24 Jan 2021 14:23:04 -0500 Subject: [PATCH] Exclude reserved iSCSI Initiator Task Tag. RFC 7143 (11.2.1.8): An ITT value of 0xffffffff is reserved and MUST NOT be assigned for a task by the initiator. The only instance in which it may be seen on the wire is in a target-initiated NOP-In PDU (Section 11.19) and in the initiator response to that PDU, if necessary. MFC after: 1 month --- sys/dev/iscsi/iscsi.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sys/dev/iscsi/iscsi.c b/sys/dev/iscsi/iscsi.c index eaaf84de959..5e6c80255bf 100644 --- a/sys/dev/iscsi/iscsi.c +++ b/sys/dev/iscsi/iscsi.c @@ -2194,6 +2194,8 @@ iscsi_action_abort(struct iscsi_session *is, union ccb *ccb) } initiator_task_tag = is->is_initiator_task_tag++; + if (initiator_task_tag == 0xffffffff) + initiator_task_tag = is->is_initiator_task_tag++; io = iscsi_outstanding_add(is, request, NULL, &initiator_task_tag); if (io == NULL) { @@ -2254,6 +2256,9 @@ iscsi_action_scsiio(struct iscsi_session *is, union ccb *ccb) } initiator_task_tag = is->is_initiator_task_tag++; + if (initiator_task_tag == 0xffffffff) + initiator_task_tag = is->is_initiator_task_tag++; + io = iscsi_outstanding_add(is, request, ccb, &initiator_task_tag); if (io == NULL) { icl_pdu_free(request);