Re: [PATCH 15/64] ipw2x00: Use struct_group() for memcpy() region

From: Stanislav Yakovlev
Date: Wed Jul 28 2021 - 14:56:12 EST


On 28/07/2021, Kees Cook <keescook@xxxxxxxxxxxx> wrote:
> In preparation for FORTIFY_SOURCE performing compile-time and run-time
> field array bounds checking for memcpy(), memmove(), and memset(),
> avoid intentionally writing across neighboring fields.
>
> Use struct_group() in struct libipw_qos_information_element around
> members qui, qui_type, qui_subtype, version, and ac_info, so they can be
> referenced together. This will allow memcpy() and sizeof() to more easily
> reason about sizes, improve readability, and avoid future warnings about
> writing beyond the end of qui.
>
> "pahole" shows no size nor member offset changes to struct
> libipw_qos_information_element.
>
> Additionally corrects the size in libipw_read_qos_param_element() as
> it was testing the wrong structure size (it should have been struct
> libipw_qos_information_element, not struct libipw_qos_parameter_info).
>
> Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
> ---
> drivers/net/wireless/intel/ipw2x00/libipw.h | 12 +++++++-----
> drivers/net/wireless/intel/ipw2x00/libipw_rx.c | 8 ++++----
> 2 files changed, 11 insertions(+), 9 deletions(-)
>

Acked-by: Stanislav Yakovlev <stas.yakovlev@xxxxxxxxx>

Looks fine, thanks!

Stanislav.