lkml.org 
[lkml]   [2023]   [Feb]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH v3] smb3: Replace smb2pdu 1-element arrays with flex-arrays
2023-02-18 9:24 GMT+09:00, Kees Cook <keescook@chromium.org>:
> The kernel is globally removing the ambiguous 0-length and 1-element
> arrays in favor of flexible arrays, so that we can gain both compile-time
> and run-time array bounds checking[1].
>
> Replace the trailing 1-element array with a flexible array in the
> following structures:
>
> struct smb2_err_rsp
> struct smb2_tree_connect_req
> struct smb2_negotiate_rsp
> struct smb2_sess_setup_req
> struct smb2_sess_setup_rsp
> struct smb2_read_req
> struct smb2_read_rsp
> struct smb2_write_req
> struct smb2_write_rsp
> struct smb2_query_directory_req
> struct smb2_query_directory_rsp
> struct smb2_set_info_req
> struct smb2_change_notify_rsp
> struct smb2_create_rsp
> struct smb2_query_info_req
> struct smb2_query_info_rsp
>
> Replace the trailing 1-element array with a flexible array, but leave
> the existing structure padding:
>
> struct smb2_file_all_info
> struct smb2_lock_req
>
> Adjust all related size calculations to match the changes to sizeof().
>
> No machine code output or .data section differences are produced after
> these changes.
>
> [1] For lots of details, see both:
>
> https://docs.kernel.org/process/deprecated.html#zero-length-and-one-element-arrays
> https://people.kernel.org/kees/bounded-flexible-arrays-in-c
>
> Cc: Steve French <sfrench@samba.org>
> Cc: Paulo Alcantara <pc@cjr.nz>
> Cc: Ronnie Sahlberg <lsahlber@redhat.com>
> Cc: Shyam Prasad N <sprasad@microsoft.com>
> Cc: Tom Talpey <tom@talpey.com>
> Cc: Namjae Jeon <linkinjeon@kernel.org>
> Cc: Sergey Senozhatsky <senozhatsky@chromium.org>
> Cc: linux-cifs@vger.kernel.org
> Cc: samba-technical@lists.samba.org
> Signed-off-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Namjae Jeon <linkinjeon@kernel.org>

Thanks!

\
 
 \ /
  Last update: 2023-03-27 00:27    [W:0.054 / U:0.044 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site