]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
iscsi-target: Kill left-over iscsi_target_do_cleanup
authorNicholas Bellinger <nab@linux-iscsi.org>
Sat, 3 Jun 2017 06:33:56 +0000 (23:33 -0700)
committerNicholas Bellinger <nab@linux-iscsi.org>
Fri, 7 Jul 2017 05:58:04 +0000 (22:58 -0700)
With commit 25cdda95fda7 in place to address the initial login
PDU asynchronous socket close OOPs, go ahead and kill off the
left-over iscsi_target_do_cleanup() and ->login_cleanup_work.

Reported-by: Mike Christie <mchristi@redhat.com>
Cc: Mike Christie <mchristi@redhat.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/target/iscsi/iscsi_target_nego.c
include/target/iscsi/iscsi_target_core.h

index 6f88b31242b0562b297e60fdf61552719ed7a97c..96df63f1f795ebc14c01570e694a8ba4cae7ace1 100644 (file)
@@ -655,28 +655,6 @@ err:
        iscsit_deaccess_np(np, tpg, tpg_np);
 }
 
-static void iscsi_target_do_cleanup(struct work_struct *work)
-{
-       struct iscsi_conn *conn = container_of(work,
-                               struct iscsi_conn, login_cleanup_work.work);
-       struct sock *sk = conn->sock->sk;
-       struct iscsi_login *login = conn->login;
-       struct iscsi_np *np = login->np;
-       struct iscsi_portal_group *tpg = conn->tpg;
-       struct iscsi_tpg_np *tpg_np = conn->tpg_np;
-
-       pr_debug("Entering iscsi_target_do_cleanup\n");
-
-       cancel_delayed_work_sync(&conn->login_work);
-       conn->orig_state_change(sk);
-
-       iscsi_target_restore_sock_callbacks(conn);
-       iscsi_target_login_drop(conn, login);
-       iscsit_deaccess_np(np, tpg, tpg_np);
-
-       pr_debug("iscsi_target_do_cleanup done()\n");
-}
-
 static void iscsi_target_sk_state_change(struct sock *sk)
 {
        struct iscsi_conn *conn;
@@ -1082,7 +1060,6 @@ int iscsi_target_locate_portal(
        int sessiontype = 0, ret = 0, tag_num, tag_size;
 
        INIT_DELAYED_WORK(&conn->login_work, iscsi_target_do_login_rx);
-       INIT_DELAYED_WORK(&conn->login_cleanup_work, iscsi_target_do_cleanup);
        iscsi_target_set_sock_callbacks(conn);
 
        login->np = np;
@@ -1331,7 +1308,6 @@ int iscsi_target_start_negotiation(
 
        if (ret < 0) {
                cancel_delayed_work_sync(&conn->login_work);
-               cancel_delayed_work_sync(&conn->login_cleanup_work);
                iscsi_target_restore_sock_callbacks(conn);
                iscsi_remove_failed_auth_entry(conn);
        }
index 5f17fb770477bbdfa2729a7b35cf21f70493515e..7948fc68286b350cd3923e3c63fcab94d8d872a0 100644 (file)
@@ -560,7 +560,6 @@ struct iscsi_conn {
 #define LOGIN_FLAGS_INITIAL_PDU                8
        unsigned long           login_flags;
        struct delayed_work     login_work;
-       struct delayed_work     login_cleanup_work;
        struct iscsi_login      *login;
        struct timer_list       nopin_timer;
        struct timer_list       nopin_response_timer;