[PATCH] smb: server: let smb_direct_disconnect_rdma_connection() turn CREATED into DISCONNECTED
Namjae Jeon
linkinjeon at kernel.org
Tue Nov 11 05:46:26 UTC 2025
On Tue, Nov 11, 2025 at 12:24 AM Stefan Metzmacher <metze at samba.org> wrote:
>
> When smb_direct_disconnect_rdma_connection() turns SMBDIRECT_SOCKET_CREATED
> into SMBDIRECT_SOCKET_ERROR, we'll have the situation that
> smb_direct_disconnect_rdma_work() will set SMBDIRECT_SOCKET_DISCONNECTING
> and call rdma_disconnect(), which likely fails as we never reached
> the RDMA_CM_EVENT_ESTABLISHED. it means that
> wait_event(sc->status_wait, sc->status == SMBDIRECT_SOCKET_DISCONNECTED)
> in free_transport() will hang forever in SMBDIRECT_SOCKET_DISCONNECTING
> never reaching SMBDIRECT_SOCKET_DISCONNECTED.
>
> So we directly go from SMBDIRECT_SOCKET_CREATED to
> SMBDIRECT_SOCKET_DISCONNECTED.
>
> Fixes: b3fd52a0d85c ("smb: server: let smb_direct_disconnect_rdma_connection() set SMBDIRECT_SOCKET_ERROR...")
> Cc: Namjae Jeon <linkinjeon at kernel.org>
> Cc: Steve French <smfrench at gmail.com>
> Cc: Tom Talpey <tom at talpey.com>
> Cc: linux-cifs at vger.kernel.org
> Cc: samba-technical at lists.samba.org
> Signed-off-by: Stefan Metzmacher <metze at samba.org>
Applied it to #ksmbd-for-next-next.
Thanks!
More information about the samba-technical
mailing list