From: Greg Kroah-Hartman Date: Wed, 4 Sep 2013 15:56:23 +0000 (-0700) Subject: 3.11-stable patches X-Git-Tag: v3.0.95~11 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5f1955ab4ef0d1016427d3a95c7b670141e2033d;p=thirdparty%2Fkernel%2Fstable-queue.git 3.11-stable patches added patches: target-fix-trailing-ascii-space-usage-in-inquiry-vendor-model.patch --- diff --git a/queue-3.11/series b/queue-3.11/series new file mode 100644 index 00000000000..9cec4cb9b4b --- /dev/null +++ b/queue-3.11/series @@ -0,0 +1 @@ +target-fix-trailing-ascii-space-usage-in-inquiry-vendor-model.patch diff --git a/queue-3.11/target-fix-trailing-ascii-space-usage-in-inquiry-vendor-model.patch b/queue-3.11/target-fix-trailing-ascii-space-usage-in-inquiry-vendor-model.patch new file mode 100644 index 00000000000..725c2482885 --- /dev/null +++ b/queue-3.11/target-fix-trailing-ascii-space-usage-in-inquiry-vendor-model.patch @@ -0,0 +1,44 @@ +From ee60bddba5a5f23e39598195d944aa0eb2d455e5 Mon Sep 17 00:00:00 2001 +From: Nicholas Bellinger +Date: Wed, 24 Jul 2013 16:15:08 -0700 +Subject: target: Fix trailing ASCII space usage in INQUIRY vendor+model + +From: Nicholas Bellinger + +commit ee60bddba5a5f23e39598195d944aa0eb2d455e5 upstream. + +This patch fixes spc_emulate_inquiry_std() to add trailing ASCII +spaces for INQUIRY vendor + model fields following SPC-4 text: + + "ASCII data fields described as being left-aligned shall have any + unused bytes at the end of the field (i.e., highest offset) and + the unused bytes shall be filled with ASCII space characters (20h)." + +This addresses a problem with Falconstor NSS multipathing. + +Reported-by: Tomas Molota +Signed-off-by: Nicholas Bellinger +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/target/target_core_spc.c | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +--- a/drivers/target/target_core_spc.c ++++ b/drivers/target/target_core_spc.c +@@ -97,9 +97,12 @@ spc_emulate_inquiry_std(struct se_cmd *c + + buf[7] = 0x2; /* CmdQue=1 */ + +- snprintf(&buf[8], 8, "LIO-ORG"); +- snprintf(&buf[16], 16, "%s", dev->t10_wwn.model); +- snprintf(&buf[32], 4, "%s", dev->t10_wwn.revision); ++ memcpy(&buf[8], "LIO-ORG ", 8); ++ memset(&buf[16], 0x20, 16); ++ memcpy(&buf[16], dev->t10_wwn.model, ++ min_t(size_t, strlen(dev->t10_wwn.model), 16)); ++ memcpy(&buf[32], dev->t10_wwn.revision, ++ min_t(size_t, strlen(dev->t10_wwn.revision), 4)); + buf[4] = 31; /* Set additional length to 31 */ + + return 0;