Re: [PATCH] overflow.h: Add flex_array_size() helper

From: Gustavo A. R. Silva
Date: Mon Jun 08 2020 - 20:42:53 EST


On Mon, Jun 08, 2020 at 03:34:52PM -0700, Joe Perches wrote:
> 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))
>

Good catch.

Thanks
--
Gustavo