Re: [PATCH] net: spider_net: Use struct_size() helper
From: David Miller
Date: Thu Aug 29 2019 - 20:54:27 EST
From: "Gustavo A. R. Silva" <gustavo@xxxxxxxxxxxxxx>
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 <gustavo@xxxxxxxxxxxxxx>
Applied to net-next, thanks.