summaryrefslogtreecommitdiff
path: root/scripts/Makefile.thinlto
diff options
context:
space:
mode:
authorNamjae Jeon <linkinjeon@kernel.org>2026-10-16 23:17:36 +0900
committerNamjae Jeon <linkinjeon@kernel.org>2026-10-21 08:55:34 +0900
commitb4bae7af1154089be87c7475218264fcbfd16d10 (patch)
treee7359a5fa466d927abfe8230a68102962168b2f5 /scripts/Makefile.thinlto
parent4f1ce9ffb996a524acf864316479a7806ae500c6 (diff)
downloadlinux-b4bae7af1154089be87c7475218264fcbfd16d10.tar.gz
linux-b4bae7af1154089be87c7475218264fcbfd16d10.zip
ksmbd: defer connection scavenging while session locks are busy
The expiration worker holds conn_list_lock for reading while checking for authenticated sessions. Without this change, the check can wait for conn->session_lock or sessions_table_lock. In destroy_previous_session(), the status updates after ksmbd_conn_wait_idle_sess() run with both session locks held for writing. Both the KSMBD_SESS_GOOD error path and the KSMBD_SESS_NEED_SETUP success path call ksmbd_all_conn_set_status(), which takes conn_list_lock for reading. A writer queued on conn_list_lock can block these new read acquisitions. The worker then waits for a session lock held by destroy_previous_session(), which waits behind the writer. The writer cannot proceed until the worker releases conn_list_lock. Try both session locks instead of waiting in the scavenging check. Keep the connection when either lock is busy and let the periodic worker retry later. Fixes: d7fd1f98607f ("ksmbd: follow SMB2 session expiration semantics") Cc: stable@vger.kernel.org Reported-by: Abdifatah Suruur <suruurism@gmail.com> Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions