Subject: Re: [PATCH] iwlwifi: calib: Refactor iwl_calib_result usage for clarity

From: Kalle Valo <[email-masked]>
Date: Fri, 02 Sep 2022 06:20:26 +0300

Kees Cook <[email-masked]> writes:

> In preparation for FORTIFY_SOURCE performing run-time destination buffer
> bounds checking for memcpy(), refactor the use of struct iwl_calib_result:
>
> - Have struct iwl_calib_result contain struct iwl_calib_cmd since
>   functions expect to operate on the "data" flex array in "cmd", which
>   follows the "hdr" member.
> - Switch argument passing around to use struct iwl_calib_cmd instead of
>   struct iwl_calib_hdr to prepare functions to see the "data" member.
> - Change iwl_calib_set()'s "len" argument to a size_t since it is always
>   unsigned and is normally receiving the output of sizeof().
> - Add an explicit length sanity check in iwl_calib_set().
> - Adjust the memcpy() to avoid copying across the now visible composite
>   flex array structure.
>
> This avoids the future run-time warning:
>
>   memcpy: detected field-spanning write (size 8) of single field "&res->hdr" (size 4)
>
> Cc: Luca Coelho <[email-masked]>
> Cc: Kalle Valo <[email-masked]>
> Cc: "David S. Miller" <[email-masked]>
> Cc: Jakub Kicinski <[email-masked]>
> Cc: Lee Jones <[email-masked]>
> Cc: Johannes Berg <[email-masked]>
> Cc: [email-masked]
> Cc: [email-masked]
> Reported-by: Andy Lavr <[email-masked]>
> Signed-off-by: Kees Cook <[email-masked]>

Gregory, as this fixes a future warning can I take this directly to
wireless-next?

-- 
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches