Christophe Leroy <christophe.le...@csgroup.eu> writes: > Le 27/05/2022 à 13:20, Michael Ellerman a écrit : >> paca.h uses ____cacheline_aligned without directly including cache.h, >> where it's defined. >> >> For Book3S builds that's OK because paca.h includes lppaca.h, and it >> does include cache.h. >> >> But Book3E builds have been getting cache.h indirectly via printk.h, >> which is dicey, and in fact that include was recently removed, leading >> to build errors such as: >> >> ld: fs/isofs/dir.o:(.bss+0x0): multiple definition of >> `____cacheline_aligned'; fs/isofs/namei.o:(.bss+0x0): first defined here >> >> So include cache.h directly to fix the build error. >> >> Fixes: 534aa1dc975a ("printk: stop including cache.h from printk.h") >> Signed-off-by: Michael Ellerman <m...@ellerman.id.au> > > You've got other candidates for the fix: > > $ git grep -L linux/cache.h `git grep -l ____cacheline_aligned > arch/powerpc` > arch/powerpc/include/asm/hardirq.h > arch/powerpc/include/asm/iommu.h > arch/powerpc/include/asm/paca.h > arch/powerpc/include/asm/processor.h > arch/powerpc/kernel/prom_init.c > > Discussion at > https://lore.kernel.org/lkml/e3c8b2bf-b55d-4c2c-a1cf-d5e9941e2...@csgroup.eu/t/
Adding it to paca.h seems to also fix those build errors, so I'll leave it at that for now. Adding cache.h to those other headers should be fine, but I don't want to do it just before sending my pull request, because changing include order can easily cause bugs, and they're not always easy to find. cheers