Re: linux-next: build failure after merge of the tip tree
From: Stephen Rothwell
Date: Mon Aug 26 2024 - 23:11:45 EST
Hi all,
On Tue, 27 Aug 2024 12:50:43 +1000 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>
> After merging the tip tree, today's linux-next build (x86_64 allmodconfig)
> failed like this:
In file included from include/asm-generic/percpu.h:7,
from arch/x86/include/asm/percpu.h:616,
from arch/x86/include/asm/preempt.h:6,
from include/linux/preempt.h:79,
from include/linux/spinlock.h:56,
from include/linux/irq.h:14,
from kernel/irq/manage.c:11:
kernel/irq/manage.c: In function 'irq_do_set_affinity':
include/linux/percpu-defs.h:92:40: error: section attribute cannot be specified for local variables
92 | extern __PCPU_DUMMY_ATTRS char __pcpu_unique_##name; \
| ^~~~~~~~~~~~~~
include/linux/percpu-defs.h:115:9: note: in expansion of macro 'DEFINE_PER_CPU_SECTION'
115 | DEFINE_PER_CPU_SECTION(type, name, "")
| ^~~~~~~~~~~~~~~~~~~~~~
kernel/irq/manage.c:230:16: note: in expansion of macro 'DEFINE_PER_CPU'
230 | static DEFINE_PER_CPU(struct cpumask, __tmp_mask);
| ^~~~~~~~~~~~~~
include/linux/percpu-defs.h:93:33: error: section attribute cannot be specified for local variables
93 | __PCPU_DUMMY_ATTRS char __pcpu_unique_##name; \
| ^~~~~~~~~~~~~~
include/linux/percpu-defs.h:115:9: note: in expansion of macro 'DEFINE_PER_CPU_SECTION'
115 | DEFINE_PER_CPU_SECTION(type, name, "")
| ^~~~~~~~~~~~~~~~~~~~~~
kernel/irq/manage.c:230:16: note: in expansion of macro 'DEFINE_PER_CPU'
230 | static DEFINE_PER_CPU(struct cpumask, __tmp_mask);
| ^~~~~~~~~~~~~~
include/linux/percpu-defs.h:93:33: error: declaration of '__pcpu_unique___tmp_mask' with no linkage follows extern declaration
93 | __PCPU_DUMMY_ATTRS char __pcpu_unique_##name; \
| ^~~~~~~~~~~~~~
include/linux/percpu-defs.h:115:9: note: in expansion of macro 'DEFINE_PER_CPU_SECTION'
115 | DEFINE_PER_CPU_SECTION(type, name, "")
| ^~~~~~~~~~~~~~~~~~~~~~
kernel/irq/manage.c:230:16: note: in expansion of macro 'DEFINE_PER_CPU'
230 | static DEFINE_PER_CPU(struct cpumask, __tmp_mask);
| ^~~~~~~~~~~~~~
include/linux/percpu-defs.h:92:40: note: previous declaration of '__pcpu_unique___tmp_mask' with type 'char'
92 | extern __PCPU_DUMMY_ATTRS char __pcpu_unique_##name; \
| ^~~~~~~~~~~~~~
include/linux/percpu-defs.h:115:9: note: in expansion of macro 'DEFINE_PER_CPU_SECTION'
115 | DEFINE_PER_CPU_SECTION(type, name, "")
| ^~~~~~~~~~~~~~~~~~~~~~
kernel/irq/manage.c:230:16: note: in expansion of macro 'DEFINE_PER_CPU'
230 | static DEFINE_PER_CPU(struct cpumask, __tmp_mask);
| ^~~~~~~~~~~~~~
kernel/irq/manage.c:230:47: error: section attribute cannot be specified for local variables
230 | static DEFINE_PER_CPU(struct cpumask, __tmp_mask);
| ^~~~~~~~~~
include/linux/percpu-defs.h:94:51: note: in definition of macro 'DEFINE_PER_CPU_SECTION'
94 | extern __PCPU_ATTRS(sec) __typeof__(type) name; \
| ^~~~
kernel/irq/manage.c:230:16: note: in expansion of macro 'DEFINE_PER_CPU'
230 | static DEFINE_PER_CPU(struct cpumask, __tmp_mask);
| ^~~~~~~~~~~~~~
kernel/irq/manage.c:230:47: error: section attribute cannot be specified for local variables
230 | static DEFINE_PER_CPU(struct cpumask, __tmp_mask);
| ^~~~~~~~~~
include/linux/percpu-defs.h:95:51: note: in definition of macro 'DEFINE_PER_CPU_SECTION'
95 | __PCPU_ATTRS(sec) __weak __typeof__(type) name
| ^~~~
kernel/irq/manage.c:230:16: note: in expansion of macro 'DEFINE_PER_CPU'
230 | static DEFINE_PER_CPU(struct cpumask, __tmp_mask);
| ^~~~~~~~~~~~~~
kernel/irq/manage.c:230:47: error: weak declaration of '__tmp_mask' must be public
230 | static DEFINE_PER_CPU(struct cpumask, __tmp_mask);
| ^~~~~~~~~~
include/linux/percpu-defs.h:95:51: note: in definition of macro 'DEFINE_PER_CPU_SECTION'
95 | __PCPU_ATTRS(sec) __weak __typeof__(type) name
| ^~~~
kernel/irq/manage.c:230:16: note: in expansion of macro 'DEFINE_PER_CPU'
230 | static DEFINE_PER_CPU(struct cpumask, __tmp_mask);
| ^~~~~~~~~~~~~~
kernel/irq/manage.c:230:47: error: declaration of '__tmp_mask' with no linkage follows extern declaration
230 | static DEFINE_PER_CPU(struct cpumask, __tmp_mask);
| ^~~~~~~~~~
include/linux/percpu-defs.h:95:51: note: in definition of macro 'DEFINE_PER_CPU_SECTION'
95 | __PCPU_ATTRS(sec) __weak __typeof__(type) name
| ^~~~
kernel/irq/manage.c:230:16: note: in expansion of macro 'DEFINE_PER_CPU'
230 | static DEFINE_PER_CPU(struct cpumask, __tmp_mask);
| ^~~~~~~~~~~~~~
kernel/irq/manage.c:230:47: note: previous declaration of '__tmp_mask' with type 'struct cpumask'
230 | static DEFINE_PER_CPU(struct cpumask, __tmp_mask);
| ^~~~~~~~~~
include/linux/percpu-defs.h:94:51: note: in definition of macro 'DEFINE_PER_CPU_SECTION'
94 | extern __PCPU_ATTRS(sec) __typeof__(type) name; \
| ^~~~
kernel/irq/manage.c:230:16: note: in expansion of macro 'DEFINE_PER_CPU'
230 | static DEFINE_PER_CPU(struct cpumask, __tmp_mask);
| ^~~~~~~~~~~~~~
> Caused by commit
>
> 6c70d79f363c ("genirq: Get rid of global lock in irq_do_set_affinity()")
>
> I have reverted that commit for today.
--
Cheers,
Stephen Rothwell
Attachment:
pgpHC0VlwhQXO.pgp
Description: OpenPGP digital signature