Messages in this thread | | | Date | Wed, 5 Jun 2019 17:21:37 +0200 | From | Jiri Pirko <> | Subject | Re: [PATCH] lib: objagg: Use struct_size() in kzalloc() |
| |
Wed, Jun 05, 2019 at 04:45:16PM CEST, gustavo@embeddedor.com 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 <gustavo@embeddedor.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
| |