]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
smb: client: let recv_done() cleanup before notifying the callers.
authorStefan Metzmacher <metze@samba.org>
Mon, 4 Aug 2025 12:10:15 +0000 (14:10 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 15 Aug 2025 10:09:04 +0000 (12:09 +0200)
commit4e5cf39e4064570022d2dd2ad29de002e7a66d68
treec9499907c30309eaeec1affc31f2f8558c65f3bf
parent83d2a4185f5a75b929a6a45aa1c0b2b9bcb9840e
smb: client: let recv_done() cleanup before notifying the callers.

[ Upstream commit bdd7afc6dca5e0ebbb75583484aa6ea9e03fbb13 ]

We should call put_receive_buffer() before waking up the callers.

For the internal error case of response->type being unexpected,
we now also call smbd_disconnect_rdma_connection() instead
of not waking up the callers at all.

Note that the SMBD_TRANSFER_DATA case still has problems,
which will be addressed in the next commit in order to make
it easier to review this one.

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: f198186aa9bb ("CIFS: SMBD: Establish SMB Direct connection")
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/smb/client/smbdirect.c