Re: [PATCH 6.6.y] ksmbd: add chann_lock to protect ksmbd_chann_list xarray
Sasha Levin <[email protected]> Sun, 3 May 2026 14:17:48 -0400
| Newsgroups | gmane.linux.kernel.stable,gmane.linux.kernel.cifs,gmane.network.samba.internals |
|---|---|
| Message-ID | <[email protected]> |
On Sat, May 02, 2026 at 01:51:50AM +0300, Kai Aizen wrote: > From: Namjae Jeon <[email protected]> > > [ Upstream commit 4f3a06cc57976cafa8c6f716646be6c79a99e485 ] > > ksmbd_chann_list xarray lacks synchronization, allowing use-after-free in > multi-channel sessions (between lookup_chann_list() and ksmbd_chann_del). > > Adds rw_semaphore chann_lock to struct ksmbd_session and protects > all xa_load/xa_store/xa_erase accesses. Thanks for the backport. Unfortunately I'm holding off on queuing this (and the 6.1.y / 5.15.y siblings) for now. The backport is faithful to upstream, but on closer review the upstream commit 4f3a06cc5797 itself does not fully cover the race: there are xa_for_each() / xa_empty() / xa_load() call sites that remain unprotected after the patch. Shipping just this commit to the LTS trees would leave the same UAF window open.