| From 8abc718de6e9e52d8a6bfdb735060554aeae25e4 Mon Sep 17 00:00:00 2001 |
| From: Feng Li <lifeng1519@gmail.com> |
| Date: Tue, 12 Jul 2016 06:15:44 +0800 |
| Subject: iscsi-target: Fix panic when adding second TCP connection to iSCSI session |
| |
| From: Feng Li <lifeng1519@gmail.com> |
| |
| commit 8abc718de6e9e52d8a6bfdb735060554aeae25e4 upstream. |
| |
| In MC/S scenario, the conn->sess has been set NULL in |
| iscsi_login_non_zero_tsih_s1 when the second connection comes here, |
| then kernel panic. |
| |
| The conn->sess will be assigned in iscsi_login_non_zero_tsih_s2. So |
| we should check whether it's NULL before calling. |
| |
| Signed-off-by: Feng Li <lifeng1519@gmail.com> |
| Tested-by: Sumit Rai <sumit.rai@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_login.c | 5 +++-- |
| 1 file changed, 3 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/target/iscsi/iscsi_target_login.c |
| +++ b/drivers/target/iscsi/iscsi_target_login.c |
| @@ -1357,8 +1357,9 @@ static int __iscsi_target_login_thread(s |
| } |
| login->zero_tsih = zero_tsih; |
| |
| - conn->sess->se_sess->sup_prot_ops = |
| - conn->conn_transport->iscsit_get_sup_prot_ops(conn); |
| + if (conn->sess) |
| + conn->sess->se_sess->sup_prot_ops = |
| + conn->conn_transport->iscsit_get_sup_prot_ops(conn); |
| |
| tpg = conn->tpg; |
| if (!tpg) { |