linux/fs/smb
Namjae Jeon 118fd99761 ksmbd: fix race condition between destroy_previous_session() and smb2 operations()
[ Upstream commit 76e98a158b ]

If there is ->PreviousSessionId field in the session setup request,
The session of the previous connection should be destroyed.
During this, if the smb2 operation requests in the previous session are
being processed, a racy issue could happen with ksmbd_destroy_file_table().
This patch sets conn->status to KSMBD_SESS_NEED_RECONNECT to block
incoming  operations and waits until on-going operations are complete
(i.e. idle) before desctorying the previous session.

Fixes: c8efcc7861 ("ksmbd: add support for durable handles v1/v2")
Cc: stable@vger.kernel.org # v6.6+
Reported-by: zdi-disclosures@trendmicro.com # ZDI-CAN-25040
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2024-08-29 17:33:59 +02:00
..
client smb: client: ignore unhandled reparse tags 2024-08-29 17:33:52 +02:00
common ksmbd: return FILE_DEVICE_DISK instead of super magic 2024-07-25 09:50:55 +02:00
server ksmbd: fix race condition between destroy_previous_session() and smb2 operations() 2024-08-29 17:33:59 +02:00
Kconfig smb: move client and server files to common directory fs/smb 2023-05-24 16:29:21 -05:00
Makefile smb: move client and server files to common directory fs/smb 2023-05-24 16:29:21 -05:00