[next] ksmbd: Use struct_size() helper in ksmbd_negotiate_smb_dialect()

Message ID ZJNrsjDEfe0iwQ92@work
State New
Headers
Series [next] ksmbd: Use struct_size() helper in ksmbd_negotiate_smb_dialect() |

Commit Message

Gustavo A. R. Silva June 21, 2023, 9:29 p.m. UTC
  Prefer struct_size() over open-coded versions.

Link: https://github.com/KSPP/linux/issues/160
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
---
 fs/smb/server/smb_common.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Kees Cook June 21, 2023, 9:29 p.m. UTC | #1
On Wed, Jun 21, 2023 at 03:29:22PM -0600, Gustavo A. R. Silva wrote:
> Prefer struct_size() over open-coded versions.
> 
> Link: https://github.com/KSPP/linux/issues/160
> Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>

Reviewed-by: Kees Cook <keescook@chromium.org>
  
Namjae Jeon June 21, 2023, 11:37 p.m. UTC | #2
2023-06-22 6:29 GMT+09:00, Gustavo A. R. Silva <gustavoars@kernel.org>:
> Prefer struct_size() over open-coded versions.
>
> Link: https://github.com/KSPP/linux/issues/160
> Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Acked-by: Namjae Jeon <linkinjeon@kernel.org>

Thanks!
  
Sergey Senozhatsky June 23, 2023, 5 a.m. UTC | #3
On (23/06/21 15:29), Gustavo A. R. Silva wrote:
> Prefer struct_size() over open-coded versions.
> 
> Link: https://github.com/KSPP/linux/issues/160
> Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>

Reviewed-by: Sergey Senozhatsky <senozhatsky@chromium.org>
  
Namjae Jeon June 24, 2023, 3:50 a.m. UTC | #4
2023-06-22 6:29 GMT+09:00, Gustavo A. R. Silva <gustavoars@kernel.org>:
> Prefer struct_size() over open-coded versions.
>
> Link: https://github.com/KSPP/linux/issues/160
> Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Applied it with reviewed/acked-by tags  to #ksmbd-for-next-next.

Thanks.
  

Patch

diff --git a/fs/smb/server/smb_common.c b/fs/smb/server/smb_common.c
index a7e81067bc99..b51f431ade01 100644
--- a/fs/smb/server/smb_common.c
+++ b/fs/smb/server/smb_common.c
@@ -266,7 +266,7 @@  static int ksmbd_negotiate_smb_dialect(void *buf)
 		if (smb2_neg_size > smb_buf_length)
 			goto err_out;
 
-		if (smb2_neg_size + le16_to_cpu(req->DialectCount) * sizeof(__le16) >
+		if (struct_size(req, Dialects, le16_to_cpu(req->DialectCount)) >
 		    smb_buf_length)
 			goto err_out;