summaryrefslogtreecommitdiff
path: root/fs/smb/server/mgmt/user_session.h
diff options
context:
space:
mode:
authorNamjae Jeon <linkinjeon@kernel.org>2025-03-24 20:19:20 +0900
committerSteve French <stfrench@microsoft.com>2025-03-27 19:12:00 -0500
commitc1883049aa9b2b7dffd3a68c5fc67fa92c174bd9 (patch)
tree544673085936d6a5946cc38e925ffcbdd57983f8 /fs/smb/server/mgmt/user_session.h
parent15a9605f8d69dc85005b1a00c31a050b8625e1aa (diff)
downloadlinux-next-c1883049aa9b2b7dffd3a68c5fc67fa92c174bd9.tar.gz
linux-next-c1883049aa9b2b7dffd3a68c5fc67fa92c174bd9.zip
ksmbd: fix multichannel connection failure
ksmbd check that the session of second channel is in the session list of first connection. If it is in session list, multichannel connection should not be allowed. Fixes: b95629435b84 ("ksmbd: fix racy issue from session lookup and expire") Reported-by: Sean Heelan <seanheelan@gmail.com> Signed-off-by: Namjae Jeon <linkinjeon@kernel.org> Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'fs/smb/server/mgmt/user_session.h')
-rw-r--r--fs/smb/server/mgmt/user_session.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/smb/server/mgmt/user_session.h b/fs/smb/server/mgmt/user_session.h
index c1c4b20bd5c6..f21348381d59 100644
--- a/fs/smb/server/mgmt/user_session.h
+++ b/fs/smb/server/mgmt/user_session.h
@@ -87,6 +87,8 @@ void ksmbd_session_destroy(struct ksmbd_session *sess);
struct ksmbd_session *ksmbd_session_lookup_slowpath(unsigned long long id);
struct ksmbd_session *ksmbd_session_lookup(struct ksmbd_conn *conn,
unsigned long long id);
+bool is_ksmbd_session_in_connection(struct ksmbd_conn *conn,
+ unsigned long long id);
int ksmbd_session_register(struct ksmbd_conn *conn,
struct ksmbd_session *sess);
void ksmbd_sessions_deregister(struct ksmbd_conn *conn);