Wed, Jun 05, 2019 at 04:45:16PM CEST, [email protected] wrote: >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 objagg_stats { > ... > struct objagg_obj_stats_info stats_info[]; >}; > >size = sizeof(*objagg_stats) + sizeof(objagg_stats->stats_info[0]) * count; >instance = kzalloc(size, GFP_KERNEL); > >Instead of leaving these open-coded and prone to type mistakes, we can >now use the new struct_size() helper: > >instance = kzalloc(struct_size(instance, stats_info, count), GFP_KERNEL); > >Notice that, in this case, variable alloc_size is not necessary, hence it >is removed. > >This code was detected with the help of Coccinelle. > >Signed-off-by: Gustavo A. R. Silva <[email protected]>
Acked-by: Jiri Pirko <[email protected]>

