Re: [PATCH 1/7] mm: allocate mm_cpumask dynamically based on nr_cpu_ids

From: Ingo Molnar
Date: Sun Jul 15 2018 - 21:07:18 EST



* Rik van Riel <riel@xxxxxxxxxxx> wrote:

> On Mon, 2018-07-16 at 00:59 +0200, Ingo Molnar wrote:
> > * Rik van Riel <riel@xxxxxxxxxxx> wrote:
> >
> > > The mm_struct always contains a cpumask bitmap, regardless of
> > > CONFIG_CPUMASK_OFFSTACK. That means the first step can be to
> > > simplify things, and simply have one bitmask at the end of the
> > > mm_struct for the mm_cpumask.
> > >
> > > This does necessitate moving everything else in mm_struct into
> > > an anonymous sub-structure, which can be randomized when struct
> > > randomization is enabled.
> > >
> > > The second step is to determine the correct size for the
> > > mm_struct slab object from the size of the mm_struct
> > > (excluding the cpu bitmap) and the size the cpumask.
> > >
> > > For init_mm we can simply allocate the maximum size this
> > > kernel is compiled for, since we only have one init_mm
> > > in the system, anyway.
> > >
> > > Pointer magic by Mike Galbraith, to evade -Wstringop-overflow
> > > getting confused by the dynamically sized array.
> > >
> > > Signed-off-by: Rik van Riel <riel@xxxxxxxxxxx>
> > > Signed-off-by: Mike Galbraith <efault@xxxxxx>
> >
> > Is this an Acked-by in disguise, or did this patch route via Mike?
>
> Mike found an issue with the patch and sent a
> fix, so I added his S-o-b to this patch as
> well.

Makes sense - I'd suggest such a SoB chain:

Signed-off-by: Rik van Riel <riel@xxxxxxxxxxx>
[ Fixed crash. ]
Signed-off-by: Mike Galbraith <efault@xxxxxx>
Signed-off-by: Rik van Riel <riel@xxxxxxxxxxx>

... it's a bit non-standard but we've used it in similar cases and it makes the
routing and evolution of the patch pretty clear.

Thanks,

Ingo