]> git.itanic.dy.fi Git - linux-stable/commitdiff
ksmbd: no need to wait for binded connection termination at logoff
authorNamjae Jeon <linkinjeon@kernel.org>
Mon, 18 Dec 2023 15:34:45 +0000 (00:34 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 23 Dec 2023 09:41:59 +0000 (10:41 +0100)
[ Upstream commit 67797da8a4b82446d42c52b6ee1419a3100d78ff ]

The connection could be binded to the existing session for Multichannel.
session will be destroyed when binded connections are released.
So no need to wait for that's connection at logoff.

Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/ksmbd/connection.c

index 28b65a43fa39bcd702d7dd3809714c84a3c665eb..0a7a30bd531f68956a71fc8f15a2ba16d38721c4 100644 (file)
@@ -167,23 +167,7 @@ void ksmbd_all_conn_set_status(u64 sess_id, u32 status)
 
 void ksmbd_conn_wait_idle(struct ksmbd_conn *conn, u64 sess_id)
 {
-       struct ksmbd_conn *bind_conn;
-
        wait_event(conn->req_running_q, atomic_read(&conn->req_running) < 2);
-
-       down_read(&conn_list_lock);
-       list_for_each_entry(bind_conn, &conn_list, conns_list) {
-               if (bind_conn == conn)
-                       continue;
-
-               if ((bind_conn->binding || xa_load(&bind_conn->sessions, sess_id)) &&
-                   !ksmbd_conn_releasing(bind_conn) &&
-                   atomic_read(&bind_conn->req_running)) {
-                       wait_event(bind_conn->req_running_q,
-                               atomic_read(&bind_conn->req_running) == 0);
-               }
-       }
-       up_read(&conn_list_lock);
 }
 
 int ksmbd_conn_write(struct ksmbd_work *work)