mirror of
https://github.com/xcat2/xNBA.git
synced 2025-02-23 05:50:00 +00:00
[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:
parent
def5b67560
commit
9625132bf5
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user