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

Stephen Rothwell
2024-08-27T03:11:34Z

[-- Attachment #1: Type: text/plain, Size: 6461 bytes --]

Hi all,

On Tue, 27 Aug 2024 12:50:43 +1000 Stephen Rothwell <sfr@canb.auug.org.au> 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 #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]