]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Further refine the ExpDataSN checks for SCSI Response PDUs.
authorJohn Baldwin <jhb@FreeBSD.org>
Tue, 26 Oct 2021 21:50:05 +0000 (14:50 -0700)
committerJohn Baldwin <jhb@FreeBSD.org>
Tue, 23 Nov 2021 23:11:44 +0000 (15:11 -0800)
commit412a8b92d9c0490ba700f5ea4f676a16778643bd
tree48a78b4b3c1e2dd86de827a75a6ad113ffd30738
parent9811763b417a36ca66c8512bbe09fcaec4407514
Further refine the ExpDataSN checks for SCSI Response PDUs.

According to 11.4.8 in RFC 7143, ExpDataSN MUST be 0 if the response
code is not Command Completed, but we were requiring it to always be
the count of DataIn PDUs regardless of the response code.

In addition, at least one target (OCI Oracle iSCSI block device)
returns an ExpDataSN of 0 when returning a valid completion with an
error status (Check Condition) in response to a SCSI Inquiry.  As a
workaround for this target, only warn without resetting the connection
for a 0 ExpDataSN for responses with a non-zero error status.

PR: 259152
Reported by: dch
Reviewed by: dch, mav, emaste
Fixes: 4f0f5bf99591 iscsi: Validate DataSN values in Data-In PDUs in the initiator.
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D32650

(cherry picked from commit cdbc4a074bec094dc7f1dfde0773a9417d118ffa)
sys/dev/iscsi/iscsi.c