Fix for iscsi target issues (#rhbz 1271812)

This commit is contained in:
Justin M. Forbes 2015-10-15 09:44:42 -05:00
parent 688415ec75
commit e91c77849f
2 changed files with 69 additions and 0 deletions

View File

@ -0,0 +1,59 @@
From 673681cafa99776e334c3e61cafa2cf115950c32 Mon Sep 17 00:00:00 2001
From: Nicholas Bellinger <nab@linux-iscsi.org>
Date: Tue, 22 Sep 2015 22:32:14 -0700
Subject: [PATCH] iscsi-target: Avoid OFMarker + IFMarker negotiation
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This patch fixes a v4.2+ regression introduced by commit c04a6091
that removed support for obsolete sync-and-steering markers usage
as originally defined in RFC-3720.
The regression would involve attempting to send OFMarker=No +
IFMarker=No keys during opertional negotiation login phase,
including when initiators did not actually propose these keys.
The result for MSFT iSCSI initiators would be random junk in
TCP stream after the last successful login request was been sent
signaling the move to full feature phase (FFP) operation.
To address this bug, go ahead and avoid negotiating these keys
by default unless the initiator explicitly proposes them, but
still respond to them with 'No' if they are proposed.
Reported-by: Dragan Milivojević <galileo@pkm-inc.com>
Bisected-by: Christophe Vu-Brugier <cvubrugier@fastmail.fm>
Tested-by: Christophe Vu-Brugier <cvubrugier@fastmail.fm>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
---
drivers/target/iscsi/iscsi_target_parameters.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/target/iscsi/iscsi_target_parameters.c b/drivers/target/iscsi/iscsi_target_parameters.c
index e8a52f7..51d1734 100644
--- a/drivers/target/iscsi/iscsi_target_parameters.c
+++ b/drivers/target/iscsi/iscsi_target_parameters.c
@@ -407,6 +407,7 @@ int iscsi_create_default_params(struct iscsi_param_list **param_list_ptr)
TYPERANGE_UTF8, USE_INITIAL_ONLY);
if (!param)
goto out;
+
/*
* Extra parameters for ISER from RFC-5046
*/
@@ -496,9 +497,9 @@ int iscsi_set_keys_to_negotiate(
} else if (!strcmp(param->name, SESSIONTYPE)) {
SET_PSTATE_NEGOTIATE(param);
} else if (!strcmp(param->name, IFMARKER)) {
- SET_PSTATE_NEGOTIATE(param);
+ SET_PSTATE_REJECT(param);
} else if (!strcmp(param->name, OFMARKER)) {
- SET_PSTATE_NEGOTIATE(param);
+ SET_PSTATE_REJECT(param);
} else if (!strcmp(param->name, IFMARKINT)) {
SET_PSTATE_REJECT(param);
} else if (!strcmp(param->name, OFMARKINT)) {
--
2.4.3

View File

@ -644,6 +644,10 @@ Patch537: si2157-Bounds-check-firmware.patch
#rhbz 1268037
Patch538: ALSA-hda-Add-dock-support-for-ThinkPad-T550.patch
#rhbz 1271812
Patch539: iscsi-target-Avoid-OFMarker-IFMarker-negotiation.patch
# END OF PATCH DEFINITIONS
%endif
@ -1407,6 +1411,9 @@ ApplyPatch si2157-Bounds-check-firmware.patch
#rhbz 1268037
ApplyPatch ALSA-hda-Add-dock-support-for-ThinkPad-T550.patch
#rhbz 1271812
ApplyPatch iscsi-target-Avoid-OFMarker-IFMarker-negotiation.patch
# END OF PATCH APPLICATIONS
%endif
@ -2257,6 +2264,9 @@ fi
#
#
%changelog
* Thu Oct 15 2015 Justin M. Forbes <jforbes@fedoraproject.org>
- Fix for iscsi target issues (#rhbz 1271812)
* Wed Oct 07 2015 Justin M. Forbes <jforbes@fedoraproject.org> - 4.2.3-200
- Linux v4.2.3
- CVE-2015-5156 virtio-net: bug overflow with large fraglist (rhbz 1243852 1266515)