[PATCH] video: fbdev/mmp/core: Use struct_size() in kzalloc()

Bartlomiej Zolnierkiewicz b.zolnierkie at samsung.com
Mon Aug 19 14:10:01 UTC 2019


On 8/7/19 6:13 PM, Gustavo A. R. Silva 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 mmp_path {
> 	...
>         struct mmp_overlay overlays[0];
> };
> 
> size = sizeof(struct mmp_path) + count * sizeof(struct mmp_overlay);
> 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, overlays, count), GFP_KERNEL)
> 
> Notice that, in this case, variable 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 at embeddedor.com>
Patch queued for v5.4, thanks.

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics


More information about the dri-devel mailing list