Target/iser: Fix a wrong dereference in case discovery session is over iser
authorSagi Grimberg <sagig@mellanox.com>
Tue, 10 Jun 2014 10:41:41 +0000 (13:41 +0300)
committerNicholas Bellinger <nab@linux-iscsi.org>
Wed, 11 Jun 2014 18:52:39 +0000 (11:52 -0700)
In case the discovery session is carried over iser, we can't
access the assumed network portal since the default portal is
used. In this case we don't really need to allocate the fastreg
pool, just prepare to the text pdu that will follow.

Signed-off-by: Sagi Grimberg <sagig@mellanox.com>
Reported-by: Alex Tabachnik <alext@mellanox.com>
Cc: stable@vger.kernel.org # 3.15+
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/infiniband/ulp/isert/ib_isert.c

index b622783ab198b281b8776433ef05ceaa6f665552..647a5e2beee43acecbb4cdc4199a03f7c976107e 100644 (file)
@@ -1053,7 +1053,9 @@ isert_put_login_tx(struct iscsi_conn *conn, struct iscsi_login *login,
        }
        if (!login->login_failed) {
                if (login->login_complete) {
-                       if (isert_conn->conn_device->use_fastreg) {
+                       if (!conn->sess->sess_ops->SessionType &&
+                           isert_conn->conn_device->use_fastreg) {
+                               /* Normal Session and fastreg is used */
                                u8 pi_support = login->np->tpg_np->tpg->tpg_attrib.t10_pi;
 
                                ret = isert_conn_create_fastreg_pool(isert_conn,