Re: [PATCH v3] smb3: Replace smb2pdu 1-element arrays with flex-arrays
From: Steve French
Date: Sat Feb 18 2023 - 10:20:11 EST
merged into cifs-2.6.git for-next pending testing
On Fri, Feb 17, 2023 at 9:24 PM Namjae Jeon <linkinjeon@xxxxxxxxxx> wrote:
>
> 2023-02-18 9:24 GMT+09:00, Kees Cook <keescook@xxxxxxxxxxxx>:
> > 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@xxxxxxxxx>
> > Cc: Paulo Alcantara <pc@xxxxxx>
> > Cc: Ronnie Sahlberg <lsahlber@xxxxxxxxxx>
> > Cc: Shyam Prasad N <sprasad@xxxxxxxxxxxxx>
> > Cc: Tom Talpey <tom@xxxxxxxxxx>
> > Cc: Namjae Jeon <linkinjeon@xxxxxxxxxx>
> > Cc: Sergey Senozhatsky <senozhatsky@xxxxxxxxxxxx>
> > Cc: linux-cifs@xxxxxxxxxxxxxxx
> > Cc: samba-technical@xxxxxxxxxxxxxxx
> > Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
> Reviewed-by: Namjae Jeon <linkinjeon@xxxxxxxxxx>
>
> Thanks!
--
Thanks,
Steve