Re: [PATCH 2/2][next] wifi: brcmfmac: Use struct_size() in code ralated to struct brcmf_dload_data_le

From: Kees Cook
Date: Wed Nov 16 2022 - 17:24:06 EST


On Tue, Nov 15, 2022 at 03:55:34PM -0600, Gustavo A. R. Silva wrote:
> Prefer struct_size() over open-coded versions of idiom:
>
> sizeof(struct-with-flex-array) + sizeof(typeof-flex-array-elements) * count
>
> where count is the max number of items the flexible array is supposed to
> contain.
>
> In this particular case, in the open-coded version sizeof(typeof-flex-array-elements)
> is implicit in _count_ because the type of the flex array data is u8:
>
> drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil_types.h:941:
> 941 struct brcmf_dload_data_le {
> 942 __le16 flag;
> 943 __le16 dload_type;
> 944 __le32 len;
> 945 __le32 crc;
> 946 u8 data[];
> 947 };
>
> Link: https://github.com/KSPP/linux/issues/160
> Signed-off-by: Gustavo A. R. Silva <gustavoars@xxxxxxxxxx>

Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx>

--
Kees Cook