david/ipxe
david
/
ipxe
Archived
1
0
Fork 0

[iscsi] Verify the correct tag in NOP-In PDUs

We should be checking the target transfer tag, rather than the
initiator task tag.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown 2011-02-25 10:40:08 +00:00
parent def5b67560
commit 9625132bf5
1 changed files with 4 additions and 4 deletions

View File

@ -617,7 +617,7 @@ static int iscsi_rx_nop_in ( struct iscsi_session *iscsi,
* (not the reserved 0xffffffff), the initiator MUST respond
* with a NOP-Out". Since we never send unsolicited NOP-Outs,
* my reading of this is that we can handle all permitted
* NOP-Ins (which must have ITT set to 0xffffffff) by simply
* NOP-Ins (which must have TTT set to 0xffffffff) by simply
* ignoring them.
*
* There is some ambiguity in the RFC, since there are other
@ -628,9 +628,9 @@ static int iscsi_rx_nop_in ( struct iscsi_session *iscsi,
* rather than just having the target drop the connection when
* it times out waiting for the NOP-Out response.
*/
if ( nop_in->itt != htonl ( ISCSI_TAG_RESERVED ) ) {
DBGC ( iscsi, "iSCSI %p received invalid NOP-In with ITT "
"%08x\n", iscsi, ntohl ( nop_in->itt ) );
if ( nop_in->ttt != htonl ( ISCSI_TAG_RESERVED ) ) {
DBGC ( iscsi, "iSCSI %p received invalid NOP-In with TTT "
"%08x\n", iscsi, ntohl ( nop_in->ttt ) );
return -EPROTO_INVALID_NOP_IN;
}