target/pscsi: Fix bug with REPORT_LUNs handling for SCSI passthrough
authorNicholas Bellinger <nab@linux-iscsi.org>
Wed, 8 Aug 2012 00:14:13 +0000 (00:14 +0000)
committerNicholas Bellinger <nab@linux-iscsi.org>
Fri, 17 Aug 2012 06:36:55 +0000 (23:36 -0700)
commit1d2a2cd95ee0137a2353d1b5635739c281f27cd4
treea5529f0b252c9f7d828c03ffa6920a94466ab57f
parent5b7517f81449067caf3d402e4abc6cd92096fe62
target/pscsi: Fix bug with REPORT_LUNs handling for SCSI passthrough

This patch fixes a regression bug in pscsi_transport_complete() callback
code where *pt was being NULL dereferenced during REPORT_LUNS handling,
that was introduced with the spc/sbc refactoring in:

commit 1fd032ee10d2816c947f5d5b9abda95e728f0a8f
Author: Christoph Hellwig <hch@infradead.org>
Date:   Sun May 20 11:59:15 2012 -0400

    target: move code for CDB emulation

As this is a special case for pscsi_parse_cdb() to call spc_parse_cdb() to
allow TCM to handle REPORT_LUN emulation, pscsi_plugin_task will have not
been allocated..

So now in pscsi_transport_complete() just check for existence of *pt and
return for this special case.

Reported-by: Alex Elsayed <eternaleye+usenet@gmail.com>
Cc: Alex Elsayed <eternaleye+usenet@gmail.com>
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/target/target_core_pscsi.c