From: "Gustavo A. R. Silva" <[email protected]>
Date: Wed, 28 Aug 2019 15:21:08 -0500
> One of the more common cases of allocation size calculations is finding
> the size of a structure that has a zero-sized array at the end, along
> with memory for some number of elements for that array. For example:
>
> struct spider_net_card {
> ...
> struct spider_net_descr darray[0];
> };
>
> Make use of the struct_size() helper instead of an open-coded version
> in order to avoid any potential type mistakes.
>
> So, replace the following form:
>
> sizeof(struct spider_net_card) + (tx_descriptors + rx_descriptors) *
> sizeof(struct spider_net_descr)
>
> with:
>
> struct_size(card, darray, tx_descriptors + rx_descriptors)
>
> Notice that, in this case, variable alloc_size is not necessary, hence it
> is removed.
>
> Building: allmodconfig powerpc.
>
> This code was detected with the help of Coccinelle.
>
> Signed-off-by: Gustavo A. R. Silva <[email protected]>
Applied to net-next, thanks.