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

From: Guenter Roeck
Date: Mon Aug 05 2019 - 12:51:32 EST


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.

Guenter