diff options
| author | Namjae Jeon <linkinjeon@kernel.org> | 2026-08-01 23:48:09 +0900 |
|---|---|---|
| committer | Namjae Jeon <linkinjeon@kernel.org> | 2026-08-17 15:00:59 +0900 |
| commit | 3a98de41b0a4d80e0aa57f677f7592e5f5321613 (patch) | |
| tree | 6a66efb573d9ebc954f965feae8e86528a704b21 /scripts/stackusage | |
| parent | 73541bd2bab77e7e8e89b1edb5d342f4190dd4d0 (diff) | |
| download | linux-3a98de41b0a4d80e0aa57f677f7592e5f5321613.tar.gz linux-3a98de41b0a4d80e0aa57f677f7592e5f5321613.zip | |
ksmbd: fix use-after-free in lease break notification
smb2_lease_break_noti() selects a connection from a shared lease table,
but reads lease->l_lb without lease_list_lock. Connection teardown can
free the table before the notification takes a reference to the selected
connection.
Select and pin the connection while holding the lock protecting its
lifetime, before the allocations that may sleep. Also protect the owner
connection lookup with ci->m_lock, since session reconnect can clear
opinfo->conn under that lock. Transfer the reference to the notification
work and release it on allocation failures or in the existing work cleanup
path.
Fixes: 2145945feb2c ("ksmbd: route v2 lease breaks on the client lease channel")
Reported-by: Jinpyo Lee <bint4b13@gmail.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Diffstat (limited to 'scripts/stackusage')
0 files changed, 0 insertions, 0 deletions
