]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.10-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 2 Jul 2014 20:44:55 +0000 (13:44 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 2 Jul 2014 20:44:55 +0000 (13:44 -0700)
added patches:
iscsi-target-avoid-rejecting-incorrect-itt-for-data-out.patch
iscsi-target-explicily-clear-login-response-pdu-in-exception-path.patch
target-fix-left-over-se_lun-lun_sep-pointer-oops.patch

queue-3.10/iscsi-target-avoid-rejecting-incorrect-itt-for-data-out.patch [new file with mode: 0644]
queue-3.10/iscsi-target-explicily-clear-login-response-pdu-in-exception-path.patch [new file with mode: 0644]
queue-3.10/series [new file with mode: 0644]
queue-3.10/target-fix-left-over-se_lun-lun_sep-pointer-oops.patch [new file with mode: 0644]
queue-3.14/series
queue-3.15/series [new file with mode: 0644]
queue-3.4/series [new file with mode: 0644]

diff --git a/queue-3.10/iscsi-target-avoid-rejecting-incorrect-itt-for-data-out.patch b/queue-3.10/iscsi-target-avoid-rejecting-incorrect-itt-for-data-out.patch
new file mode 100644 (file)
index 0000000..a0ba108
--- /dev/null
@@ -0,0 +1,38 @@
+From 97c99b47ac58bacb7c09e1f47d5d184434f6b06a Mon Sep 17 00:00:00 2001
+From: Nicholas Bellinger <nab@linux-iscsi.org>
+Date: Fri, 20 Jun 2014 10:59:57 -0700
+Subject: iscsi-target: Avoid rejecting incorrect ITT for Data-Out
+
+From: Nicholas Bellinger <nab@linux-iscsi.org>
+
+commit 97c99b47ac58bacb7c09e1f47d5d184434f6b06a upstream.
+
+This patch changes iscsit_check_dataout_hdr() to dump the incoming
+Data-Out payload when the received ITT is not associated with a
+WRITE, instead of calling iscsit_reject_cmd() for the non WRITE
+ITT descriptor.
+
+This addresses a bug where an initiator sending an Data-Out for
+an ITT associated with a READ would end up generating a reject
+for the READ, eventually resulting in list corruption.
+
+Reported-by: Santosh Kulkarni <santosh.kulkarni@calsoftinc.com>
+Reported-by: Arshad Hussain <arshad.hussain@calsoftinc.com>
+Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/target/iscsi/iscsi_target.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/target/iscsi/iscsi_target.c
++++ b/drivers/target/iscsi/iscsi_target.c
+@@ -1313,7 +1313,7 @@ iscsit_check_dataout_hdr(struct iscsi_co
+       if (cmd->data_direction != DMA_TO_DEVICE) {
+               pr_err("Command ITT: 0x%08x received DataOUT for a"
+                       " NON-WRITE command.\n", cmd->init_task_tag);
+-              return iscsit_reject_cmd(cmd, ISCSI_REASON_PROTOCOL_ERROR, buf);
++              return iscsit_dump_data_payload(conn, payload_length, 1);
+       }
+       se_cmd = &cmd->se_cmd;
+       iscsit_mod_dataout_timer(cmd);
diff --git a/queue-3.10/iscsi-target-explicily-clear-login-response-pdu-in-exception-path.patch b/queue-3.10/iscsi-target-explicily-clear-login-response-pdu-in-exception-path.patch
new file mode 100644 (file)
index 0000000..eb207b6
--- /dev/null
@@ -0,0 +1,37 @@
+From 683497566d48f86e04d026de1ee658dd74fc1077 Mon Sep 17 00:00:00 2001
+From: Nicholas Bellinger <nab@linux-iscsi.org>
+Date: Tue, 17 Jun 2014 21:54:38 +0000
+Subject: iscsi-target: Explicily clear login response PDU in exception path
+
+From: Nicholas Bellinger <nab@linux-iscsi.org>
+
+commit 683497566d48f86e04d026de1ee658dd74fc1077 upstream.
+
+This patch adds a explicit memset to the login response PDU
+exception path in iscsit_tx_login_rsp().
+
+This addresses a regression bug introduced in commit baa4d64b
+where the initiator would end up not receiving the login
+response and associated status class + detail, before closing
+the login connection.
+
+Reported-by: Christophe Vu-Brugier <cvubrugier@yahoo.fr>
+Tested-by: Christophe Vu-Brugier <cvubrugier@yahoo.fr>
+Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/target/iscsi/iscsi_target_util.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/drivers/target/iscsi/iscsi_target_util.c
++++ b/drivers/target/iscsi/iscsi_target_util.c
+@@ -1288,6 +1288,8 @@ int iscsit_tx_login_rsp(struct iscsi_con
+       login->login_failed = 1;
+       iscsit_collect_login_stats(conn, status_class, status_detail);
++      memset(&login->rsp[0], 0, ISCSI_HDR_LEN);
++
+       hdr     = (struct iscsi_login_rsp *)&login->rsp[0];
+       hdr->opcode             = ISCSI_OP_LOGIN_RSP;
+       hdr->status_class       = status_class;
diff --git a/queue-3.10/series b/queue-3.10/series
new file mode 100644 (file)
index 0000000..b29674a
--- /dev/null
@@ -0,0 +1,3 @@
+target-fix-left-over-se_lun-lun_sep-pointer-oops.patch
+iscsi-target-avoid-rejecting-incorrect-itt-for-data-out.patch
+iscsi-target-explicily-clear-login-response-pdu-in-exception-path.patch
diff --git a/queue-3.10/target-fix-left-over-se_lun-lun_sep-pointer-oops.patch b/queue-3.10/target-fix-left-over-se_lun-lun_sep-pointer-oops.patch
new file mode 100644 (file)
index 0000000..ab51b25
--- /dev/null
@@ -0,0 +1,36 @@
+From 83ff42fcce070801a3aa1cd6a3269d7426271a8d Mon Sep 17 00:00:00 2001
+From: Nicholas Bellinger <nab@linux-iscsi.org>
+Date: Mon, 16 Jun 2014 20:25:54 +0000
+Subject: target: Fix left-over se_lun->lun_sep pointer OOPs
+
+From: Nicholas Bellinger <nab@linux-iscsi.org>
+
+commit 83ff42fcce070801a3aa1cd6a3269d7426271a8d upstream.
+
+This patch fixes a left-over se_lun->lun_sep pointer OOPs when one
+of the /sys/kernel/config/target/$FABRIC/$WWPN/$TPGT/lun/$LUN/alua*
+attributes is accessed after the $DEVICE symlink has been removed.
+
+To address this bug, go ahead and clear se_lun->lun_sep memory in
+core_dev_unexport(), so that the existing checks for show/store
+ALUA attributes in target_core_fabric_configfs.c work as expected.
+
+Reported-by: Sebastian Herbszt <herbszt@gmx.de>
+Tested-by: Sebastian Herbszt <herbszt@gmx.de>
+Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/target/target_core_device.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/target/target_core_device.c
++++ b/drivers/target/target_core_device.c
+@@ -614,6 +614,7 @@ void core_dev_unexport(
+       dev->export_count--;
+       spin_unlock(&hba->device_lock);
++      lun->lun_sep = NULL;
+       lun->lun_se_dev = NULL;
+ }
index 82df2f9f4d1ef9e54618b499dacc0293222f0986..372605c14200dc2828fc527d96584757e890f40a 100644 (file)
@@ -1 +1,5 @@
 arm-dts-disable-mdma1-node-for-exynos5420.patch
+target-fix-left-over-se_lun-lun_sep-pointer-oops.patch
+iscsi-target-avoid-rejecting-incorrect-itt-for-data-out.patch
+iscsi-target-explicily-clear-login-response-pdu-in-exception-path.patch
+iscsi-target-fix-iscsit_del_np-deadlock-on-unload.patch
diff --git a/queue-3.15/series b/queue-3.15/series
new file mode 100644 (file)
index 0000000..662c79d
--- /dev/null
@@ -0,0 +1,4 @@
+target-fix-left-over-se_lun-lun_sep-pointer-oops.patch
+iscsi-target-avoid-rejecting-incorrect-itt-for-data-out.patch
+iscsi-target-explicily-clear-login-response-pdu-in-exception-path.patch
+iscsi-target-fix-iscsit_del_np-deadlock-on-unload.patch
diff --git a/queue-3.4/series b/queue-3.4/series
new file mode 100644 (file)
index 0000000..e69de29