]> git.baikalelectronics.ru Git - kernel.git/commit
target: Don't call TFO->write_pending if data_length == 0
authorRoland Dreier <roland@purestorage.com>
Tue, 14 Oct 2014 21:16:24 +0000 (14:16 -0700)
committerNicholas Bellinger <nab@linux-iscsi.org>
Tue, 28 Oct 2014 20:54:15 +0000 (13:54 -0700)
commit34bda623e6c65c97fd2e3000f42f44f200db12f6
tree05b77664a7b7f13158c1d4e7da8b99be6387fb2b
parent431599d88574e61c220968c5a6da09264c448033
target: Don't call TFO->write_pending if data_length == 0

If an initiator sends a zero-length command (e.g. TEST UNIT READY) but
sets the transfer direction in the transport layer to indicate a
data-out phase, we still shouldn't try to transfer data.  At best it's
a NOP, and depending on the transport, we might crash on an
uninitialized sg list.

Reported-by: Craig Watson <craig.watson@vanguard-rugged.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Cc: <stable@vger.kernel.org> # 3.1
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/target/target_core_transport.c