summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarios Makassikis <mmakassikis@freebox.fr>2023-03-16 14:40:43 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-04-13 16:48:23 +0200
commitf204f38212dc058bf6228f20ac8a56aa4f3f874e (patch)
treeccc7afcd6cc0e79b4bfca377c351bbcf67871630
parent091b3e31275b6750cf8ba4914c32e2b9b07904ed (diff)
downloadlinux-stable-f204f38212dc058bf6228f20ac8a56aa4f3f874e.tar.gz
linux-stable-f204f38212dc058bf6228f20ac8a56aa4f3f874e.tar.bz2
linux-stable-f204f38212dc058bf6228f20ac8a56aa4f3f874e.zip
ksmbd: do not call kvmalloc() with __GFP_NORETRY | __GFP_NO_WARN
commit e416ea62a9166e6075a07a970cc5bf79255d2700 upstream. Commit 83dcedd5540d ("ksmbd: fix infinite loop in ksmbd_conn_handler_loop()"), changes GFP modifiers passed to kvmalloc(). This cause xfstests generic/551 test to fail. We limit pdu length size according to connection status and maximum number of connections. In the rest, memory allocation of request is limited by credit management. so these flags are no longer needed. Fixes: 83dcedd5540d ("ksmbd: fix infinite loop in ksmbd_conn_handler_loop()") Cc: stable@vger.kernel.org Signed-off-by: Marios Makassikis <mmakassikis@freebox.fr> Acked-by: Namjae Jeon <linkinjeon@kernel.org> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--fs/ksmbd/connection.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/fs/ksmbd/connection.c b/fs/ksmbd/connection.c
index 610abaadbb67..21cda82f156d 100644
--- a/fs/ksmbd/connection.c
+++ b/fs/ksmbd/connection.c
@@ -320,10 +320,7 @@ int ksmbd_conn_handler_loop(void *p)
/* 4 for rfc1002 length field */
size = pdu_size + 4;
- conn->request_buf = kvmalloc(size,
- GFP_KERNEL |
- __GFP_NOWARN |
- __GFP_NORETRY);
+ conn->request_buf = kvmalloc(size, GFP_KERNEL);
if (!conn->request_buf)
break;