Re: linux-next: build failure after merge of the akpm-current tree

Christophe Leroy
2021-05-12T09:50:21Z

Nick,

Le 12/05/2021 à 07:33, Stephen Rothwell a écrit :
> Hi all,
>
> After merging the akpm-current tree, today's linux-next build (powerpc
> ppc64_defconfig) failed like this:
>
> In file included from arch/powerpc/include/asm/book3s/64/mmu-hash.h:20,
> from arch/powerpc/include/asm/book3s/64/mmu.h:31,
> from arch/powerpc/include/asm/mmu.h:402,
> from arch/powerpc/include/asm/lppaca.h:46,
> from arch/powerpc/include/asm/paca.h:17,
> from arch/powerpc/include/asm/current.h:13,
> from include/linux/thread_info.h:22,
> from include/asm-generic/preempt.h:5,
> from ./arch/powerpc/include/generated/asm/preempt.h:1,
> from include/linux/preempt.h:78,
> from include/linux/spinlock.h:51,
> from include/linux/vmalloc.h:5,
> from mm/ioremap.c:9:
> arch/powerpc/include/asm/book3s/64/pgtable.h:246:21: error: initializer element is not constant
> 246 | #define PGDIR_SHIFT (PUD_SHIFT + PUD_INDEX_SIZE)
> | ^
> include/asm-generic/pgtable-nop4d.h:11:20: note: in expansion of macro 'PGDIR_SHIFT'
> 11 | #define P4D_SHIFT PGDIR_SHIFT
> | ^~~~~~~~~~~
> mm/ioremap.c:19:60: note: in expansion of macro 'P4D_SHIFT'
> 19 | static unsigned int __ro_after_init iomap_max_page_shift = P4D_SHIFT;
> | ^~~~~~~~~

Argh ....

I'm still not used to CAPITAL_NAMES defines not being constant ....

So we need to initialise this from some init function that runs before parse_early_param()

Nick, any idea ?

>
> Caused by commit
>
> 9054fd6cce6c ("mm/ioremap: fix iomap_max_page_shift")
>
> I have reverted that commit for today.
>