| 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 |
| @@ -1295,6 +1295,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; |