Re: [PATCH] overflow.h: Add flex_array_size() helper
From: Joe Perches
Date: Mon Jun 08 2020 - 18:34:57 EST
On Mon, 2020-06-08 at 17:17 -0500, Gustavo A. R. Silva wrote:
> Add flex_array_size() helper for the calculation of the size, in bytes,
> of a flexible array member contained within an enclosing structure.
>
> Example of usage:
> foo
> struct something {
> size_t count;
> struct foo items[];
> };
>
> struct something *instance;
[]
> diff --git a/include/linux/overflow.h b/include/linux/overflow.h
[]
> +/**
> + * flex_array_size() - Calculate size of a flexible array member within
> + * an enclosing structure.
These comment descriptions do not match
> + * Calculates size of memory needed for flexible array @member of @count
> + * elements within structure @p.
The first comment shows the size of an array member.
The second shows the size of an array member * count
Also the struct_size and flex_array_size definitions
are using two different forms:
sizeof(*(p)->member) + __must_be_array((p)->member),\
and
sizeof((p)->member[0]) + __must_be_array((p)->member))
Consistency would be nice.