From: Chih-Yen Chang Date: Fri, 5 May 2023 15:03:54 +0000 (+0900) Subject: ksmbd: allocate one more byte for implied bcc[0] X-Git-Tag: v6.1.30~36 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=af7335a4b946f9f6f9d98398cbcea15cd9850409;p=users%2Fdwmw2%2Flinux.git ksmbd: allocate one more byte for implied bcc[0] commit 443d61d1fa9faa60ef925513d83742902390100f upstream. ksmbd_smb2_check_message allows client to return one byte more, so we need to allocate additional memory in ksmbd_conn_handler_loop to avoid out-of-bound access. Cc: stable@vger.kernel.org Signed-off-by: Chih-Yen Chang Acked-by: Namjae Jeon Signed-off-by: Steve French Signed-off-by: Greg Kroah-Hartman --- diff --git a/fs/ksmbd/connection.c b/fs/ksmbd/connection.c index e3312fbf4c090..b371754540f9c 100644 --- a/fs/ksmbd/connection.c +++ b/fs/ksmbd/connection.c @@ -353,7 +353,8 @@ int ksmbd_conn_handler_loop(void *p) break; /* 4 for rfc1002 length field */ - size = pdu_size + 4; + /* 1 for implied bcc[0] */ + size = pdu_size + 4 + 1; conn->request_buf = kvmalloc(size, GFP_KERNEL); if (!conn->request_buf) break;