linux/fs/smb/server
Stefan Metzmacher 55286b1e1b smb: server: let smb_direct_disconnect_rdma_connection() turn CREATED into DISCONNECTED
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: b3fd52a0d8 ("smb: server: let smb_direct_disconnect_rdma_connection() set SMBDIRECT_SOCKET_ERROR...")
Cc: Namjae Jeon <linkinjeon@kernel.org>
Cc: Steve French <smfrench@gmail.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Acked-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
2025-11-11 09:50:35 -06:00
..
mgmt ksmbd: fix recursive locking in RPC handle list access 2025-10-15 06:03:09 -05:00
asn1.c ksmbd: use __GFP_RETRY_MAYFAIL 2024-11-25 18:58:02 -06:00
asn1.h
auth.c smb: Use arc4 library instead of duplicate arc4 code 2025-09-29 21:21:23 -05:00
auth.h ksmbd: use SHA-256 library API instead of crypto_shash API 2025-05-25 22:54:50 -05:00
connection.c ksmbd: replace connection list with hash table 2025-09-30 21:37:55 -05:00
connection.h ksmbd: replace connection list with hash table 2025-09-30 21:37:55 -05:00
crypto_ctx.c ksmbd: use SHA-256 library API instead of crypto_shash API 2025-05-25 22:54:50 -05:00
crypto_ctx.h ksmbd: use SHA-256 library API instead of crypto_shash API 2025-05-25 22:54:50 -05:00
glob.h ksmbd: use __GFP_RETRY_MAYFAIL 2024-11-25 18:58:02 -06:00
Kconfig smb: Use arc4 library instead of duplicate arc4 code 2025-09-29 21:21:23 -05:00
ksmbd_netlink.h ksmbd: add max ip connections parameter 2025-09-30 21:37:54 -05:00
ksmbd_spnego_negtokeninit.asn1 treewide: Add SPDX identifier to IETF ASN.1 modules 2023-10-27 18:04:28 +08:00
ksmbd_spnego_negtokentarg.asn1 treewide: Add SPDX identifier to IETF ASN.1 modules 2023-10-27 18:04:28 +08:00
ksmbd_work.c fs: WQ_PERCPU added to alloc_workqueue users 2025-09-19 16:15:07 +02:00
ksmbd_work.h ksmbd: fix use-after-free in ksmbd_free_work_struct 2025-03-10 12:54:28 -05:00
Makefile
misc.c ksmbd: use __GFP_RETRY_MAYFAIL 2024-11-25 18:58:02 -06:00
misc.h
ndr.c ksmbd: use __GFP_RETRY_MAYFAIL 2024-11-25 18:58:02 -06:00
ndr.h
nterr.h
ntlmssp.h
oplock.c ksmbd: fix refcount leak causing resource not released 2025-08-17 19:33:29 -05:00
oplock.h ksmbd: fix use-after-free in smb_break_all_levII_oplock() 2025-04-14 22:21:26 -05:00
server.c smb: server: add a pr_info() when the server starts running 2025-09-28 18:29:52 -05:00
server.h ksmbd: add max ip connections parameter 2025-09-30 21:37:54 -05:00
smb2misc.c smb: move SMB2 Status code to common header file 2024-09-15 10:42:44 -05:00
smb2ops.c ksmbd: do not set SMB2_GLOBAL_CAP_ENCRYPTION for SMB 3.1.1 2024-04-02 09:21:25 -05:00
smb2pdu.c ksmbd: fix recursive locking in RPC handle list access 2025-10-15 06:03:09 -05:00
smb2pdu.h smb: server: make use of common smbdirect.h 2025-09-28 18:29:51 -05:00
smb_common.c smb: server: Fix extension string in ksmbd_extract_shortname() 2025-08-07 18:23:12 -05:00
smb_common.h smb: move some duplicate definitions to common/cifsglob.h 2025-10-15 07:44:17 -05:00
smbacl.c ksmbd: validate zero num_subauth before sub_auth is accessed 2025-04-01 00:04:21 -05:00
smbacl.h smb: common: change the data type of num_aces to le16 2025-03-02 22:50:54 -06:00
smbfsctl.h
transport_ipc.c ksmbd: transport_ipc: validate payload size before reading handle 2025-10-26 20:47:32 -05:00
transport_ipc.h ksmbd: Remove unused functions 2025-01-15 23:24:51 -06:00
transport_rdma.c smb: server: let smb_direct_disconnect_rdma_connection() turn CREATED into DISCONNECTED 2025-11-11 09:50:35 -06:00
transport_rdma.h smb: server: pass ksmbd_transport to get_smbd_max_read_write_size() 2025-09-28 18:29:52 -05:00
transport_tcp.c ksmbd: close accepted socket when per-IP limit rejects connection 2025-11-09 17:47:52 -06:00
transport_tcp.h ksmbd: fix use-after-free in __smb2_lease_break_noti() 2025-04-14 22:21:26 -05:00
unicode.c ksmbd: use __GFP_RETRY_MAYFAIL 2024-11-25 18:58:02 -06:00
unicode.h fs/smb: Swing unicode common code from smb->NLS 2023-08-30 08:55:51 -05:00
vfs.c file->f_path constification 2025-10-03 16:32:36 -07:00
vfs.h ksmbd_vfs_set_init_posix_acl(): constify path argument 2025-09-15 21:17:09 -04:00
vfs_cache.c ksmbd: Fix UAF in __close_file_table_ids 2025-05-06 08:37:02 -05:00
vfs_cache.h ksmbd: allow a filename to contain colons on SMB3.1.1 posix extensions 2025-08-31 17:48:38 -05:00
xattr.h ksmbd: Correct typos in multiple comments across various files 2024-09-25 21:33:22 -05:00