On Thu, Sep 17, 2020 at 1:45 PM Dennis Zhou <[email protected]> wrote:
>
>
> diff --git a/mm/percpu.c b/mm/percpu.c
> index f4709629e6de..1ed1a349eab8 100644
> --- a/mm/percpu.c
> +++ b/mm/percpu.c
> @@ -1316,7 +1316,7 @@ static struct pcpu_chunk * __init 
> pcpu_alloc_first_chunk(unsigned long tmp_addr,
>
>         /* allocate chunk */
>         alloc_size = sizeof(struct pcpu_chunk) +
> -               BITS_TO_LONGS(region_size >> PAGE_SHIFT);
> +               BITS_TO_LONGS(region_size >> PAGE_SHIFT) * sizeof(unsigned 
> long);

Hmm.

Wouldn't this be cleaner as

        alloc_size =struct_size(chunk, populated,
                 BITS_TO_LONGS(region_size >> PAGE_SHIFT) );

and looking at this, I realize that I thought we enabled warnings for
'sizeof()' of flexible array structures to avoid these kinds of
mistakes, but that must clearly have happened only in a dream of mine.

Anyway, pulled.

            Linus

Reply via email to