diff options
author | Namjae Jeon <linkinjeon@kernel.org> | 2023-10-04 18:25:01 +0900 |
---|---|---|
committer | Steve French <stfrench@microsoft.com> | 2023-10-04 20:21:48 -0500 |
commit | 53ff5cf89142b978b1a5ca8dc4d4425e6a09745f (patch) | |
tree | 108b6e8f2851d06b3ed9ad4d83d09e29aad2f107 /drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | |
parent | 8a749fd1a8720d4619c91c8b6e7528c0a355c0aa (diff) |
ksmbd: fix race condition between session lookup and expire
Thread A + Thread B
ksmbd_session_lookup | smb2_sess_setup
sess = xa_load |
|
| xa_erase(&conn->sessions, sess->id);
|
| ksmbd_session_destroy(sess) --> kfree(sess)
|
// UAF! |
sess->last_active = jiffies |
+
This patch add rwsem to fix race condition between ksmbd_session_lookup
and ksmbd_expire_session.
Reported-by: luosili <rootlab@huawei.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c')
0 files changed, 0 insertions, 0 deletions