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

From: Bartlomiej Zolnierkiewicz
Date: Mon Aug 19 2019 - 10:10:07 EST



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@xxxxxxxxxxxxxx>
Patch queued for v5.4, thanks.

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