Re: [PATCH -next] x86/events:Use struct_size() helper in kzalloc()

Gustavo A. R. Silva
2022-05-18T15:54:33Z

On Wed, May 18, 2022 at 03:55:00PM +0200, Peter Zijlstra wrote:
> On Wed, May 18, 2022 at 08:49:20AM -0500, Gustavo A. R. Silva wrote:
>
> > > Signed-off-by: Lin Yujun <linyujun809@huawei.com>
> > > ---
> > > arch/x86/events/rapl.c | 2 +-
> > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/arch/x86/events/rapl.c b/arch/x86/events/rapl.c
> > > index 77e3a47af5ad..c7e79f0ac04f 100644
> > > --- a/arch/x86/events/rapl.c
> > > +++ b/arch/x86/events/rapl.c
> > > @@ -685,7 +685,7 @@ static int __init init_rapl_pmus(void)
> > > int maxdie = topology_max_packages() * topology_max_die_per_package();
> > > size_t size;
> > >
> > > - size = sizeof(*rapl_pmus) + maxdie * sizeof(struct rapl_pmu *);
> > > + size = struct_size(rapl_pmus, pmus, maxdie);
> > > rapl_pmus = kzalloc(size, GFP_KERNEL);
> >
> > It seems that in this case, size could be entirely replaced by
> > struct_size().
>
> Except every time I look at struct_size() I go: WTF does that do; while
> the code as-is is crystal clear, no de-obfucstaion required.

Naming it flex_struct_size() would be more informative?

--
Gustavo