Re: [PATCH][next] cifs: Replace a couple of one-element arrays with flexible-array members
From: Kees Cook
Date: Tue Oct 04 2022 - 23:06:49 EST
On Tue, Oct 04, 2022 at 08:51:39PM -0500, Gustavo A. R. Silva wrote:
> One-element arrays are deprecated, and we are replacing them with flexible
> array members instead. So, replace one-element arrays with flexible-array
> member in structs negotiate_req and extended_response, and refactor the
> rest of the code, accordingly.
> Also, make use of the DECLARE_FLEX_ARRAY() helper to declare flexible
> array member EncryptionKey in union u. This new helper allows for
> flexible-array members in unions.
> Change pointer notation to proper array notation in a call to memcpy()
> where flexible-array member DialectsArray is being used as destination
> Important to mention is that doing a build before/after this patch results
> in no binary output differences.
> This helps with the ongoing efforts to tighten the FORTIFY_SOURCE
> routines on memcpy() and help us make progress towards globally
> enabling -fstrict-flex-arrays=3 .
> Link: https://github.com/KSPP/linux/issues/79
> Link: https://github.com/KSPP/linux/issues/229
> Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101836 
> Signed-off-by: Gustavo A. R. Silva <gustavoars@xxxxxxxxxx>
Looks good to me; thanks!
Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx>