[PATCH] powerpc/64: Include cache.h directly in paca.h

Christophe Leroy christophe.leroy at csgroup.eu
Fri May 27 22:16:14 AEST 2022



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 <mpe at 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-d5e9941e26b0@csgroup.eu/t/

Christophe


> ---
>   arch/powerpc/include/asm/paca.h | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/arch/powerpc/include/asm/paca.h b/arch/powerpc/include/asm/paca.h
> index 03330b7d835f..4d7aaab82702 100644
> --- a/arch/powerpc/include/asm/paca.h
> +++ b/arch/powerpc/include/asm/paca.h
> @@ -12,6 +12,7 @@
>   
>   #ifdef CONFIG_PPC64
>   
> +#include <linux/cache.h>
>   #include <linux/string.h>
>   #include <asm/types.h>
>   #include <asm/lppaca.h>


More information about the Linuxppc-dev mailing list