* [PATCH] powerpc/64: Include cache.h directly in paca.h
@ 2022-05-27 11:20 Michael Ellerman
2022-05-27 12:16 ` Christophe Leroy
2022-05-28 12:53 ` Michael Ellerman
0 siblings, 2 replies; 4+ messages in thread
From: Michael Ellerman @ 2022-05-27 11:20 UTC (permalink / raw)
To: linuxppc-dev
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@ellerman.id.au>
---
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>
--
2.35.3
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] powerpc/64: Include cache.h directly in paca.h
2022-05-27 11:20 [PATCH] powerpc/64: Include cache.h directly in paca.h Michael Ellerman
@ 2022-05-27 12:16 ` Christophe Leroy
2022-05-28 12:18 ` Michael Ellerman
2022-05-28 12:53 ` Michael Ellerman
1 sibling, 1 reply; 4+ messages in thread
From: Christophe Leroy @ 2022-05-27 12:16 UTC (permalink / raw)
To: Michael Ellerman, linuxppc-dev
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@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>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] powerpc/64: Include cache.h directly in paca.h
2022-05-27 12:16 ` Christophe Leroy
@ 2022-05-28 12:18 ` Michael Ellerman
0 siblings, 0 replies; 4+ messages in thread
From: Michael Ellerman @ 2022-05-28 12:18 UTC (permalink / raw)
To: Christophe Leroy, linuxppc-dev
Christophe Leroy <christophe.leroy@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 <mpe@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/
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
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] powerpc/64: Include cache.h directly in paca.h
2022-05-27 11:20 [PATCH] powerpc/64: Include cache.h directly in paca.h Michael Ellerman
2022-05-27 12:16 ` Christophe Leroy
@ 2022-05-28 12:53 ` Michael Ellerman
1 sibling, 0 replies; 4+ messages in thread
From: Michael Ellerman @ 2022-05-28 12:53 UTC (permalink / raw)
To: linuxppc-dev, Michael Ellerman
On Fri, 27 May 2022 21:20:35 +1000, Michael Ellerman wrote:
> 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:
>
> [...]
Applied to powerpc/next.
[1/1] powerpc/64: Include cache.h directly in paca.h
https://git.kernel.org/powerpc/c/dcf280e6f80be280ca7dd1b058f038654e4a18dd
cheers
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-05-28 12:54 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-27 11:20 [PATCH] powerpc/64: Include cache.h directly in paca.h Michael Ellerman
2022-05-27 12:16 ` Christophe Leroy
2022-05-28 12:18 ` Michael Ellerman
2022-05-28 12:53 ` Michael Ellerman
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.