target: support zero allocation length in INQUIRY
authorPaolo Bonzini <pbonzini@redhat.com>
Fri, 7 Sep 2012 15:30:38 +0000 (17:30 +0200)
committerNicholas Bellinger <nab@linux-iscsi.org>
Tue, 18 Sep 2012 00:13:36 +0000 (17:13 -0700)
commitffe7b0e9326d9c68f5688bef691dd49f1e0d3651
treef180001bbe2685c8388c372766e6884f2cb7845e
parentbf11eefcb1dc1326341ebdc44566ad08bee3f539
target: support zero allocation length in INQUIRY

INQUIRY processing already uses an on-heap bounce buffer for loopback,
but not for other fabrics.  Switch this to a cheaper on-stack bounce
buffer, similar to the one used by MODE SENSE and REQUEST SENSE, and
use it unconditionally.  With this in place, zero allocation length is
handled simply by checking the return address of transport_kmap_data_sg.

Testcase: sg_raw /dev/sdb 12 00 83 00 00 00
    should fail with ILLEGAL REQUEST / INVALID FIELD IN CDB sense
    does not fail without the patch
    fails correctly with the series

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Cc: stable@vger.kernel.org
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/target/target_core_spc.c