From patchwork Mon Nov 26 16:59:15 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [265/270] target: Re-add explict zeroing of INQUIRY bounce buffer memory From: Herton Ronaldo Krzesinski X-Patchwork-Id: 201992 Message-Id: <1353949160-26803-266-git-send-email-herton.krzesinski@canonical.com> To: linux-kernel@vger.kernel.org, stable@vger.kernel.org, kernel-team@lists.ubuntu.com Cc: Paolo Bonzini , Andy Grover , Kelsey Prantis , Nicholas Bellinger Date: Mon, 26 Nov 2012 14:59:15 -0200 3.5.7u1 -stable review patch. If anyone has any objections, please let me know. ------------------ From: Nicholas Bellinger commit dea5f0998aa82bdeca260b87c653db11e91329b2 upstream. This patch fixes a regression in spc_emulate_inquiry() code where the local scope bounce buffer was no longer getting it's memory zeroed, causing various problems with SCSI initiators that depend upon areas of INQUIRY EVPD=0x83 payload having been zeroed. This bug was introduced with the following v3.7-rc1 patch + CC'ed stable commit: commit ffe7b0e9326d9c68f5688bef691dd49f1e0d3651 Author: Paolo Bonzini Date: Fri Sep 7 17:30:38 2012 +0200 target: support zero allocation length in INQUIRY Go ahead and re-add the missing memset of bounce buffer memory to be copied into the outgoing se_cmd descriptor kmapped SGL payload. Reported-by: Kelsey Prantis Cc: Kelsey Prantis Cc: Paolo Bonzini Cc: Andy Grover Signed-off-by: Nicholas Bellinger [ herton: code to be patched is in target_core_cdb.c on 3.5 ] Signed-off-by: Herton Ronaldo Krzesinski --- drivers/target/target_core_cdb.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/target/target_core_cdb.c b/drivers/target/target_core_cdb.c index 3dc3393..dd09f0f 100644 --- a/drivers/target/target_core_cdb.c +++ b/drivers/target/target_core_cdb.c @@ -610,6 +610,8 @@ int target_emulate_inquiry(struct se_cmd *cmd) unsigned char buf[SE_INQUIRY_BUF]; int p, ret; + memset(buf, 0, SE_INQUIRY_BUF); + if (dev == tpg->tpg_virt_lun0.lun_se_dev) buf[0] = 0x3f; /* Not connected */ else