diff options
| author | Ze Tan <tanze@kylinos.cn> | 2026-08-14 13:51:42 +0000 |
|---|---|---|
| committer | Namjae Jeon <linkinjeon@kernel.org> | 2026-08-17 22:38:26 +0900 |
| commit | 99b25b046e47e4904373cfeb445c5483f1633d88 (patch) | |
| tree | 6993deedd917ce019f2cd19ce61d40362942cb65 /scripts/stackusage | |
| parent | 9a74739026fb71d1197183a067eef657bb5fba77 (diff) | |
| download | linux-99b25b046e47e4904373cfeb445c5483f1633d88.tar.gz linux-99b25b046e47e4904373cfeb445c5483f1633d88.zip | |
smb/server: fix session leak in ksmbd_session_register()
See the procedure below:
smb2_sess_setup
ksmbd_smb2_session_create
__session_create
atomic_set(&sess->refcnt, 2)
hash_add(sessions_table, &sess->hlist, sess->id)
ksmbd_session_register
xa_store(&conn->sessions, sess->id, sess) // fail
ksmbd_user_session_put
atomic_dec(&sess->refcnt) // refcnt is 1, session is not freed
Remove the session from sessions_table and drop its table reference if
xa_store() fails.
Fixes: f5c779b7ddbd ("ksmbd: fix racy issue from session setup and logoff")
Signed-off-by: Ze Tan <tanze@kylinos.cn>
Reviewed-by: ChenXiaoSong <chenxiaosong@kylinos.cn>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Diffstat (limited to 'scripts/stackusage')
0 files changed, 0 insertions, 0 deletions
