diff options
author | Namjae Jeon <linkinjeon@kernel.org> | 2021-10-15 11:14:02 +0300 |
---|---|---|
committer | Steve French <stfrench@microsoft.com> | 2021-10-15 17:18:29 +0300 |
commit | 4bc59477c3298b191c72b5d99feb54a1dc8c254d (patch) | |
tree | 39815c754c15dfa9f577f4e757aae133d5554123 /fs/ksmbd/smb2pdu.c | |
parent | dbad63001eac3abeeb2b66ddf71504e8ab128c5c (diff) | |
download | linux-4bc59477c3298b191c72b5d99feb54a1dc8c254d.tar.xz |
ksmbd: limit read/write/trans buffer size not to exceed 8MB
ksmbd limit read/write/trans buffer size not to exceed maximum 8MB.
And set the minimum value of max response buffer size to 64KB.
Windows client doesn't send session setup request if ksmbd set max
trans/read/write size lower than 64KB in smb2 negotiate.
It means windows allow at least 64 KB or more about this value.
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'fs/ksmbd/smb2pdu.c')
-rw-r--r-- | fs/ksmbd/smb2pdu.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/ksmbd/smb2pdu.c b/fs/ksmbd/smb2pdu.c index 89c187aa8db2..7999d8bc6892 100644 --- a/fs/ksmbd/smb2pdu.c +++ b/fs/ksmbd/smb2pdu.c @@ -524,7 +524,7 @@ int smb2_allocate_rsp_buf(struct ksmbd_work *work) { struct smb2_hdr *hdr = work->request_buf; size_t small_sz = MAX_CIFS_SMALL_BUFFER_SIZE; - size_t large_sz = work->conn->vals->max_trans_size + MAX_SMB2_HDR_SIZE; + size_t large_sz = small_sz + work->conn->vals->max_trans_size; size_t sz = small_sz; int cmd = le16_to_cpu(hdr->Command); |