Re: [PATCH] page flags: prioritize kasan bits over last-cpuid

From: Guenter Roeck
Date: Mon Aug 05 2019 - 16:19:02 EST


On Mon, Aug 05, 2019 at 09:57:59PM +0200, Arnd Bergmann wrote:
> On Mon, Aug 5, 2019 at 8:52 PM Guenter Roeck <linux@xxxxxxxxxxxx> wrote:
> > On Mon, Aug 05, 2019 at 08:35:40PM +0200, Arnd Bergmann wrote:
> > > On Mon, Aug 5, 2019 at 6:51 PM Guenter Roeck <linux@xxxxxxxxxxxx> wrote:
> > > > On Fri, Aug 02, 2019 at 09:49:02PM -0700, Arnd Bergmann wrote:
> > > > > ARM64 randdconfig builds regularly run into a build error, especially
> > > > > when NUMA_BALANCING and SPARSEMEM are enabled but not SPARSEMEM_VMEMMAP:
> > > > >
> > > > > #error "KASAN: not enough bits in page flags for tag"
> > > > >
> > > > > The last-cpuid bits are already contitional on the available space, so
> > > > > the result of the calculation is a bit random on whether they were
> > > > > already left out or not.
> > > > >
> > > > > Adding the kasan tag bits before last-cpuid makes it much more likely to
> > > > > end up with a successful build here, and should be reliable for
> > > > > randconfig at least, as long as that does not randomize NR_CPUS or
> > > > > NODES_SHIFT but uses the defaults.
> > > > >
> > > > > In order for the modified check to not trigger in the x86 vdso32 code
> > > > > where all constants are wrong (building with -m32), enclose all the
> > > > > definitions with an #ifdef.
> > > > >
> > > >
> > > > This results in
> > > >
> > > > ./include/linux/page-flags-layout.h:95:2: error: #error "Not enough bits in page flags"
> > > > #error "Not enough bits in page flags"
> > > >
> > > > when trying to build mipsel64:fuloong2e_defconfig.
> > >
> > > Do you have my follow-up fix applied?
> > >
> > > https://ozlabs.org/~akpm/mmots/broken-out/page-flags-prioritize-kasan-bits-over-last-cpuid-fix.patch
> > >
> >
> > No. I see the failure in next-20190729..next-20190805.
> >
> > I didn't try to apply that patch, but I don't see
> > arch/mips/vdso/vdso.h in the tree. I only see
> >
> > arch/mips/include/asm/vdso.h
> > arch/mips/include/asm/vdso/vdso.h
> >
> > Are you sure that your patch can be applied as-is ?
>
> Ah, right, we now have support for the generic vdso on mips,
> so the file got moved from arch/mips/vdso/vdso.h to
> arch/mips/include/asm/vdso/vdso.h
>
> Try applying it to the new location then. I think it should still apply,
> but have not tried it.
>

Turns out it is applied there (it looks like it was merged into
the original patch). But it doesn't help; the build failure is
still there. Reverting "page flags: prioritize kasan bits over
last-cpuid" on top of next-20190805 fixes the problem for me.

Guenter