]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - queue-6.6/ksmbd-do-not-set-smb2_global_cap_encryption-for-smb-3.1.1.patch
Linux 6.1.85
[thirdparty/kernel/stable-queue.git] / queue-6.6 / ksmbd-do-not-set-smb2_global_cap_encryption-for-smb-3.1.1.patch
1 From 5ed11af19e56f0434ce0959376d136005745a936 Mon Sep 17 00:00:00 2001
2 From: Namjae Jeon <linkinjeon@kernel.org>
3 Date: Tue, 2 Apr 2024 09:31:22 +0900
4 Subject: ksmbd: do not set SMB2_GLOBAL_CAP_ENCRYPTION for SMB 3.1.1
5
6 From: Namjae Jeon <linkinjeon@kernel.org>
7
8 commit 5ed11af19e56f0434ce0959376d136005745a936 upstream.
9
10 SMB2_GLOBAL_CAP_ENCRYPTION flag should be used only for 3.0 and
11 3.0.2 dialects. This flags set cause compatibility problems with
12 other SMB clients.
13
14 Reported-by: James Christopher Adduono <jc@adduono.com>
15 Tested-by: James Christopher Adduono <jc@adduono.com>
16 Cc: stable@vger.kernel.org
17 Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
18 Signed-off-by: Steve French <stfrench@microsoft.com>
19 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
20 ---
21 fs/smb/server/smb2ops.c | 10 +++++-----
22 1 file changed, 5 insertions(+), 5 deletions(-)
23
24 --- a/fs/smb/server/smb2ops.c
25 +++ b/fs/smb/server/smb2ops.c
26 @@ -228,6 +228,11 @@ void init_smb3_0_server(struct ksmbd_con
27 conn->cli_cap & SMB2_GLOBAL_CAP_ENCRYPTION)
28 conn->vals->capabilities |= SMB2_GLOBAL_CAP_ENCRYPTION;
29
30 + if (server_conf.flags & KSMBD_GLOBAL_FLAG_SMB2_ENCRYPTION ||
31 + (!(server_conf.flags & KSMBD_GLOBAL_FLAG_SMB2_ENCRYPTION_OFF) &&
32 + conn->cli_cap & SMB2_GLOBAL_CAP_ENCRYPTION))
33 + conn->vals->capabilities |= SMB2_GLOBAL_CAP_ENCRYPTION;
34 +
35 if (server_conf.flags & KSMBD_GLOBAL_FLAG_SMB3_MULTICHANNEL)
36 conn->vals->capabilities |= SMB2_GLOBAL_CAP_MULTI_CHANNEL;
37 }
38 @@ -275,11 +280,6 @@ int init_smb3_11_server(struct ksmbd_con
39 conn->vals->capabilities |= SMB2_GLOBAL_CAP_LEASING |
40 SMB2_GLOBAL_CAP_DIRECTORY_LEASING;
41
42 - if (server_conf.flags & KSMBD_GLOBAL_FLAG_SMB2_ENCRYPTION ||
43 - (!(server_conf.flags & KSMBD_GLOBAL_FLAG_SMB2_ENCRYPTION_OFF) &&
44 - conn->cli_cap & SMB2_GLOBAL_CAP_ENCRYPTION))
45 - conn->vals->capabilities |= SMB2_GLOBAL_CAP_ENCRYPTION;
46 -
47 if (server_conf.flags & KSMBD_GLOBAL_FLAG_SMB3_MULTICHANNEL)
48 conn->vals->capabilities |= SMB2_GLOBAL_CAP_MULTI_CHANNEL;
49