summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/bin
diff options
context:
space:
mode:
authorPaulo Alcantara <pc@manguebit.org>2026-09-11 22:38:04 -0300
committerPaulo Alcantara <pc@manguebit.org>2026-09-13 15:24:51 -0300
commitc65eae6f61d1778ff7a82e4aae4080e26f486af1 (patch)
tree95092f9b1be493b2ebfe1d30f7ebad188585281f /tools/perf/scripts/python/bin
parentebc5660132ddd244b57f03ed324922013a3d7363 (diff)
downloadlinux-next-c65eae6f61d1778ff7a82e4aae4080e26f486af1.tar.gz
linux-next-c65eae6f61d1778ff7a82e4aae4080e26f486af1.zip
smb: client: cancel reconnect work in clean_demultiplex_info()
clean_demultiplex_info() cancels server->echo delayed work but not server->reconnect, which can cause a use-after-free when the demultiplex thread exits while a reconnect work is still queued: cifs_demultiplex_thread() cifs_readv_from_socket() cifs_reconnect() __cifs_reconnect() cifs_queue_server_reconn() mod_delayed_work(cifsiod_wq, &server->reconnect, 0) clean_demultiplex_info() cancel_delayed_work_sync(&server->echo) // echo canceled // reconnect NOT canceled kfree_sensitive(server) // server freed ...later, on cifsiod_wq: smb2_reconnect_server() server->srv_count // UAF read of freed server Fix this by canceling server->reconnect delayed work in clean_demultiplex_info() before the server is freed, the same way cifs_put_tcp_session() already does. Reported-by: syzbot+5003556314abc915a71f@syzkaller.appspotmail.com Closes: https://lore.kernel.org/r/6aa4a12d.f81106d8.2ab401.0023.GAE@google.com Fixes: 53e0e11efe92 ("CIFS: Fix a possible memory corruption during reconnect") Reviewed-by: Namjae Jeon <linkinjeon@kernel.org> Signed-off-by: Paulo Alcantara <pc@manguebit.org> Cc: David Howells <dhowells@redhat.com> Cc: Shyam Prasad N <sprasad@microsoft.com> Cc: Ronnie Sahlberg <ronniesahlberg@gmail.com> Cc: Tom Talpey <tom@talpey.com> Cc: Bharath SM <bharathsm@microsoft.com> Cc: Namjae Jeon <linkinjeon@kernel.org> Cc: stable@vger.kernel.org
Diffstat (limited to 'tools/perf/scripts/python/bin')
0 files changed, 0 insertions, 0 deletions