]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
smb: client: don't wait for info->send_pending == 0 on error
authorStefan Metzmacher <metze@samba.org>
Tue, 12 Aug 2025 16:45:06 +0000 (18:45 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 28 Aug 2025 14:28:12 +0000 (16:28 +0200)
commitedc450030b208fca73cd4f1521fd913039b7e167
tree9d4921a43faac5b4069617ee8c9208e9b1dd18d3
parent429112e9709b96e78eaf05851bc9f27f04599273
smb: client: don't wait for info->send_pending == 0 on error

commit 8c48e1c7520321cc87ff651e96093e2f412785fb upstream.

We already called ib_drain_qp() before and that makes sure
send_done() was called with IB_WC_WR_FLUSH_ERR, but
didn't called atomic_dec_and_test(&sc->send_io.pending.count)

So we may never reach the info->send_pending == 0 condition.

Cc: Steve French <smfrench@gmail.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: Long Li <longli@microsoft.com>
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Fixes: 5349ae5e05fa ("smb: client: let send_done() cleanup before calling smbd_disconnect_rdma_connection()")
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/smb/client/smbdirect.c