]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
smb: client: return an error if rdma_connect does not return within 5 seconds
authorStefan Metzmacher <metze@samba.org>
Thu, 7 Aug 2025 16:12:11 +0000 (18:12 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 15 Aug 2025 14:39:29 +0000 (16:39 +0200)
[ Upstream commit 03537826f77f1c829d0593d211b38b9c876c1722 ]

This matches the timeout for tcp connections.

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

index 90dd3791df726251d505d0df771fd3ec20afc860..c661a8e6c18b85a0843c44375c6a245b9d5a7efa 100644 (file)
@@ -1634,8 +1634,10 @@ static struct smbd_connection *_smbd_get_connection(
                goto rdma_connect_failed;
        }
 
-       wait_event_interruptible(
-               info->conn_wait, sc->status != SMBDIRECT_SOCKET_CONNECTING);
+       wait_event_interruptible_timeout(
+               info->conn_wait,
+               sc->status != SMBDIRECT_SOCKET_CONNECTING,
+               msecs_to_jiffies(RDMA_RESOLVE_TIMEOUT));
 
        if (sc->status != SMBDIRECT_SOCKET_CONNECTED) {
                log_rdma_event(ERR, "rdma_connect failed port=%d\n", port);