Skip to content

Commit b8fc56f

Browse files
committed
ksmbd: fix slab-use-after-free in smb3_preauth_hash_rsp
ksmbd_user_session_put should be called under smb3_preauth_hash_rsp(). It will avoid freeing session before calling smb3_preauth_hash_rsp(). Cc: stable@vger.kernel.org # v5.15+ Reported-by: Norbert Szetei <norbert@doyensec.com> Tested-by: Norbert Szetei <norbert@doyensec.com> Signed-off-by: Namjae Jeon <linkinjeon@kernel.org> Signed-off-by: Steve French <stfrench@microsoft.com>
1 parent 0a77715 commit b8fc56f

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

fs/smb/server/server.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -238,11 +238,11 @@ static void __handle_ksmbd_work(struct ksmbd_work *work,
238238
} while (is_chained == true);
239239

240240
send:
241-
if (work->sess)
242-
ksmbd_user_session_put(work->sess);
243241
if (work->tcon)
244242
ksmbd_tree_connect_put(work->tcon);
245243
smb3_preauth_hash_rsp(work);
244+
if (work->sess)
245+
ksmbd_user_session_put(work->sess);
246246
if (work->sess && work->sess->enc && work->encrypted &&
247247
conn->ops->encrypt_resp) {
248248
rc = conn->ops->encrypt_resp(work);

0 commit comments

Comments
 (0)