[tip:master 19/19] include/linux/irq-entry-common.h:201:2: error: unexpected token
From: kernel test robot
Date: Tue Jul 01 2025 - 17:56:41 EST
tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git master
head: 104f02a7798f7e8aba25545f9d485035532260b2
commit: 104f02a7798f7e8aba25545f9d485035532260b2 [19/19] Merge core/entry into tip/master
config: s390-allmodconfig (https://download.01.org/0day-ci/archive/20250702/202507020528.N0LtekXt-lkp@xxxxxxxxx/config)
compiler: clang version 18.1.8 (https://github.com/llvm/llvm-project 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250702/202507020528.N0LtekXt-lkp@xxxxxxxxx/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202507020528.N0LtekXt-lkp@xxxxxxxxx/
All errors (new ones prefixed by >>):
In file included from arch/s390/kernel/process.c:32:
include/linux/entry-common.h:161:7: error: unexpected token
161 | if (WARN(irqs_disabled(), "syscall %lu left IRQs disabled", nr))
| ^
include/asm-generic/bug.h:141:3: note: expanded from macro 'WARN'
141 | __WARN_printf(TAINT_WARN, format); \
| ^
include/asm-generic/bug.h:113:3: note: expanded from macro '__WARN_printf'
113 | __WARN_FLAGS("", BUGFLAG_NO_CUT_HERE | BUGFLAG_TAINT(taint));\
| ^
arch/s390/include/asm/bug.h:44:2: note: expanded from macro '__WARN_FLAGS'
44 | __BUG_FLAGS(cond_str, BUGFLAG_WARNING|(flags)); \
| ^
note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/stringify.h:10:27: note: expanded from macro '__stringify'
10 | #define __stringify(x...) __stringify_1(x)
| ^
include/linux/stringify.h:9:29: note: expanded from macro '__stringify_1'
9 | #define __stringify_1(x...) #x
| ^
<scratch space>:31:1: note: expanded from here
31 | ".pushsection __bug_table, \"aw\"; .align 4; 10000: .long 10001f - .; .pushsection .rodata.str, \"aMS\", @progbits, 1; 10002: .string \"\" \"include/linux/entry-common.h\"; .popsection; .long 10002b - .; .short 161; .short (1 << 0)|((1 << 3) | ((9) << 8)); .popsection; 10001: mc 0,0"
| ^
<inline asm>:1:134: note: instantiated into assembly here
1 | .pushsection __bug_table, "aw"; .align 4; 10000: .long 10001f - .; .pushsection .rodata.str, "aMS", @progbits, 1; 10002: .string "" "include/linux/entry-common.h"; .popsection; .long 10002b - .; .short 161; .short (1 << 0)|((1 << 3) | ((9) << 8)); .popsection; 10001: mc 0,0
| ^
In file included from arch/s390/kernel/process.c:32:
In file included from include/linux/entry-common.h:5:
>> include/linux/irq-entry-common.h:201:2: error: unexpected token
201 | lockdep_assert_irqs_disabled();
| ^
include/linux/lockdep.h:582:2: note: expanded from macro 'lockdep_assert_irqs_disabled'
582 | WARN_ON_ONCE(__lockdep_enabled && this_cpu_read(hardirqs_enabled)); \
| ^
include/asm-generic/bug.h:119:3: note: expanded from macro 'WARN_ON_ONCE'
119 | __WARN_FLAGS("["#condition"] ", \
| ^
arch/s390/include/asm/bug.h:44:2: note: expanded from macro '__WARN_FLAGS'
44 | __BUG_FLAGS(cond_str, BUGFLAG_WARNING|(flags)); \
| ^
note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/stringify.h:10:27: note: expanded from macro '__stringify'
10 | #define __stringify(x...) __stringify_1(x)
| ^
include/linux/stringify.h:9:29: note: expanded from macro '__stringify_1'
9 | #define __stringify_1(x...) #x
| ^
<scratch space>:153:1: note: expanded from here
153 | ".pushsection __bug_table, \"aw\"; .align 4; 10000: .long 10001f - .; .pushsection .rodata.str, \"aMS\", @progbits, 1; 10002: .string \"[\"\"__lockdep_enabled && this_cpu_read(hardirqs_enabled)\"\"] \" \"include/linux/irq-entry-common.h\"; .popsection; .long 10002b - .; .short 201; .short (1 << 0)|((1 << 1) | ((9) << 8)); .popsection; 10001: mc 0,0"
| ^
<inline asm>:1:134: note: instantiated into assembly here
1 | .pushsection __bug_table, "aw"; .align 4; 10000: .long 10001f - .; .pushsection .rodata.str, "aMS", @progbits, 1; 10002: .string "[""__lockdep_enabled && this_cpu_read(hardirqs_enabled)""] " "include/linux/irq-entry-common.h"; .popsection; .long 10002b - .; .short 201; .short (1 << 0)|((1 << 1) | ((9) << 8)); .popsection; 10001: mc 0,0
| ^
In file included from arch/s390/kernel/process.c:32:
In file included from include/linux/entry-common.h:5:
include/linux/irq-entry-common.h:214:2: error: unexpected token
214 | lockdep_assert_irqs_disabled();
| ^
include/linux/lockdep.h:582:2: note: expanded from macro 'lockdep_assert_irqs_disabled'
582 | WARN_ON_ONCE(__lockdep_enabled && this_cpu_read(hardirqs_enabled)); \
| ^
include/asm-generic/bug.h:119:3: note: expanded from macro 'WARN_ON_ONCE'
119 | __WARN_FLAGS("["#condition"] ", \
| ^
arch/s390/include/asm/bug.h:44:2: note: expanded from macro '__WARN_FLAGS'
44 | __BUG_FLAGS(cond_str, BUGFLAG_WARNING|(flags)); \
| ^
note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/stringify.h:10:27: note: expanded from macro '__stringify'
10 | #define __stringify(x...) __stringify_1(x)
| ^
include/linux/stringify.h:9:29: note: expanded from macro '__stringify_1'
9 | #define __stringify_1(x...) #x
| ^
<scratch space>:2:1: note: expanded from here
2 | ".pushsection __bug_table, \"aw\"; .align 4; 10000: .long 10001f - .; .pushsection .rodata.str, \"aMS\", @progbits, 1; 10002: .string \"[\"\"__lockdep_enabled && this_cpu_read(hardirqs_enabled)\"\"] \" \"include/linux/irq-entry-common.h\"; .popsection; .long 10002b - .; .short 214; .short (1 << 0)|((1 << 1) | ((9) << 8)); .popsection; 10001: mc 0,0"
| ^
<inline asm>:1:134: note: instantiated into assembly here
1 | .pushsection __bug_table, "aw"; .align 4; 10000: .long 10001f - .; .pushsection .rodata.str, "aMS", @progbits, 1; 10002: .string "[""__lockdep_enabled && this_cpu_read(hardirqs_enabled)""] " "include/linux/irq-entry-common.h"; .popsection; .long 10002b - .; .short 214; .short (1 << 0)|((1 << 1) | ((9) << 8)); .popsection; 10001: mc 0,0
| ^
3 errors generated.
--
In file included from arch/s390/kernel/syscall.c:35:
include/linux/entry-common.h:161:7: error: unexpected token
161 | if (WARN(irqs_disabled(), "syscall %lu left IRQs disabled", nr))
| ^
include/asm-generic/bug.h:141:3: note: expanded from macro 'WARN'
141 | __WARN_printf(TAINT_WARN, format); \
| ^
include/asm-generic/bug.h:113:3: note: expanded from macro '__WARN_printf'
113 | __WARN_FLAGS("", BUGFLAG_NO_CUT_HERE | BUGFLAG_TAINT(taint));\
| ^
arch/s390/include/asm/bug.h:44:2: note: expanded from macro '__WARN_FLAGS'
44 | __BUG_FLAGS(cond_str, BUGFLAG_WARNING|(flags)); \
| ^
note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/stringify.h:10:27: note: expanded from macro '__stringify'
10 | #define __stringify(x...) __stringify_1(x)
| ^
include/linux/stringify.h:9:29: note: expanded from macro '__stringify_1'
9 | #define __stringify_1(x...) #x
| ^
<scratch space>:137:1: note: expanded from here
137 | ".pushsection __bug_table, \"aw\"; .align 4; 10000: .long 10001f - .; .pushsection .rodata.str, \"aMS\", @progbits, 1; 10002: .string \"\" \"include/linux/entry-common.h\"; .popsection; .long 10002b - .; .short 161; .short (1 << 0)|((1 << 3) | ((9) << 8)); .popsection; 10001: mc 0,0"
| ^
<inline asm>:1:134: note: instantiated into assembly here
1 | .pushsection __bug_table, "aw"; .align 4; 10000: .long 10001f - .; .pushsection .rodata.str, "aMS", @progbits, 1; 10002: .string "" "include/linux/entry-common.h"; .popsection; .long 10002b - .; .short 161; .short (1 << 0)|((1 << 3) | ((9) << 8)); .popsection; 10001: mc 0,0
| ^
In file included from arch/s390/kernel/syscall.c:35:
In file included from include/linux/entry-common.h:5:
>> include/linux/irq-entry-common.h:201:2: error: unexpected token
201 | lockdep_assert_irqs_disabled();
| ^
include/linux/lockdep.h:582:2: note: expanded from macro 'lockdep_assert_irqs_disabled'
582 | WARN_ON_ONCE(__lockdep_enabled && this_cpu_read(hardirqs_enabled)); \
| ^
include/asm-generic/bug.h:119:3: note: expanded from macro 'WARN_ON_ONCE'
119 | __WARN_FLAGS("["#condition"] ", \
| ^
arch/s390/include/asm/bug.h:44:2: note: expanded from macro '__WARN_FLAGS'
44 | __BUG_FLAGS(cond_str, BUGFLAG_WARNING|(flags)); \
| ^
note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/stringify.h:10:27: note: expanded from macro '__stringify'
10 | #define __stringify(x...) __stringify_1(x)
| ^
include/linux/stringify.h:9:29: note: expanded from macro '__stringify_1'
9 | #define __stringify_1(x...) #x
| ^
<scratch space>:59:1: note: expanded from here
59 | ".pushsection __bug_table, \"aw\"; .align 4; 10000: .long 10001f - .; .pushsection .rodata.str, \"aMS\", @progbits, 1; 10002: .string \"[\"\"__lockdep_enabled && this_cpu_read(hardirqs_enabled)\"\"] \" \"include/linux/irq-entry-common.h\"; .popsection; .long 10002b - .; .short 201; .short (1 << 0)|((1 << 1) | ((9) << 8)); .popsection; 10001: mc 0,0"
| ^
<inline asm>:1:134: note: instantiated into assembly here
1 | .pushsection __bug_table, "aw"; .align 4; 10000: .long 10001f - .; .pushsection .rodata.str, "aMS", @progbits, 1; 10002: .string "[""__lockdep_enabled && this_cpu_read(hardirqs_enabled)""] " "include/linux/irq-entry-common.h"; .popsection; .long 10002b - .; .short 201; .short (1 << 0)|((1 << 1) | ((9) << 8)); .popsection; 10001: mc 0,0
| ^
In file included from arch/s390/kernel/syscall.c:35:
In file included from include/linux/entry-common.h:5:
include/linux/irq-entry-common.h:214:2: error: unexpected token
214 | lockdep_assert_irqs_disabled();
| ^
include/linux/lockdep.h:582:2: note: expanded from macro 'lockdep_assert_irqs_disabled'
582 | WARN_ON_ONCE(__lockdep_enabled && this_cpu_read(hardirqs_enabled)); \
| ^
include/asm-generic/bug.h:119:3: note: expanded from macro 'WARN_ON_ONCE'
119 | __WARN_FLAGS("["#condition"] ", \
| ^
arch/s390/include/asm/bug.h:44:2: note: expanded from macro '__WARN_FLAGS'
44 | __BUG_FLAGS(cond_str, BUGFLAG_WARNING|(flags)); \
| ^
note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/stringify.h:10:27: note: expanded from macro '__stringify'
10 | #define __stringify(x...) __stringify_1(x)
| ^
include/linux/stringify.h:9:29: note: expanded from macro '__stringify_1'
9 | #define __stringify_1(x...) #x
| ^
<scratch space>:104:1: note: expanded from here
104 | ".pushsection __bug_table, \"aw\"; .align 4; 10000: .long 10001f - .; .pushsection .rodata.str, \"aMS\", @progbits, 1; 10002: .string \"[\"\"__lockdep_enabled && this_cpu_read(hardirqs_enabled)\"\"] \" \"include/linux/irq-entry-common.h\"; .popsection; .long 10002b - .; .short 214; .short (1 << 0)|((1 << 1) | ((9) << 8)); .popsection; 10001: mc 0,0"
| ^
<inline asm>:1:134: note: instantiated into assembly here
1 | .pushsection __bug_table, "aw"; .align 4; 10000: .long 10001f - .; .pushsection .rodata.str, "aMS", @progbits, 1; 10002: .string "[""__lockdep_enabled && this_cpu_read(hardirqs_enabled)""] " "include/linux/irq-entry-common.h"; .popsection; .long 10002b - .; .short 214; .short (1 << 0)|((1 << 1) | ((9) << 8)); .popsection; 10001: mc 0,0
| ^
3 errors generated.
vim +201 include/linux/irq-entry-common.h
a70e9f647f501e3 Jinjie Ruan 2025-06-24 180
a70e9f647f501e3 Jinjie Ruan 2025-06-24 181 /**
a70e9f647f501e3 Jinjie Ruan 2025-06-24 182 * exit_to_user_mode_loop - do any pending work before leaving to user space
a70e9f647f501e3 Jinjie Ruan 2025-06-24 183 */
a70e9f647f501e3 Jinjie Ruan 2025-06-24 184 unsigned long exit_to_user_mode_loop(struct pt_regs *regs,
a70e9f647f501e3 Jinjie Ruan 2025-06-24 185 unsigned long ti_work);
a70e9f647f501e3 Jinjie Ruan 2025-06-24 186
a70e9f647f501e3 Jinjie Ruan 2025-06-24 187 /**
a70e9f647f501e3 Jinjie Ruan 2025-06-24 188 * exit_to_user_mode_prepare - call exit_to_user_mode_loop() if required
a70e9f647f501e3 Jinjie Ruan 2025-06-24 189 * @regs: Pointer to pt_regs on entry stack
a70e9f647f501e3 Jinjie Ruan 2025-06-24 190 *
a70e9f647f501e3 Jinjie Ruan 2025-06-24 191 * 1) check that interrupts are disabled
a70e9f647f501e3 Jinjie Ruan 2025-06-24 192 * 2) call tick_nohz_user_enter_prepare()
a70e9f647f501e3 Jinjie Ruan 2025-06-24 193 * 3) call exit_to_user_mode_loop() if any flags from
a70e9f647f501e3 Jinjie Ruan 2025-06-24 194 * EXIT_TO_USER_MODE_WORK are set
a70e9f647f501e3 Jinjie Ruan 2025-06-24 195 * 4) check that interrupts are still disabled
a70e9f647f501e3 Jinjie Ruan 2025-06-24 196 */
a70e9f647f501e3 Jinjie Ruan 2025-06-24 197 static __always_inline void exit_to_user_mode_prepare(struct pt_regs *regs)
a70e9f647f501e3 Jinjie Ruan 2025-06-24 198 {
a70e9f647f501e3 Jinjie Ruan 2025-06-24 199 unsigned long ti_work;
a70e9f647f501e3 Jinjie Ruan 2025-06-24 200
a70e9f647f501e3 Jinjie Ruan 2025-06-24 @201 lockdep_assert_irqs_disabled();
a70e9f647f501e3 Jinjie Ruan 2025-06-24 202
a70e9f647f501e3 Jinjie Ruan 2025-06-24 203 /* Flush pending rcuog wakeup before the last need_resched() check */
a70e9f647f501e3 Jinjie Ruan 2025-06-24 204 tick_nohz_user_enter_prepare();
a70e9f647f501e3 Jinjie Ruan 2025-06-24 205
a70e9f647f501e3 Jinjie Ruan 2025-06-24 206 ti_work = read_thread_flags();
a70e9f647f501e3 Jinjie Ruan 2025-06-24 207 if (unlikely(ti_work & EXIT_TO_USER_MODE_WORK))
a70e9f647f501e3 Jinjie Ruan 2025-06-24 208 ti_work = exit_to_user_mode_loop(regs, ti_work);
a70e9f647f501e3 Jinjie Ruan 2025-06-24 209
a70e9f647f501e3 Jinjie Ruan 2025-06-24 210 arch_exit_to_user_mode_prepare(regs, ti_work);
a70e9f647f501e3 Jinjie Ruan 2025-06-24 211
a70e9f647f501e3 Jinjie Ruan 2025-06-24 212 /* Ensure that kernel state is sane for a return to userspace */
a70e9f647f501e3 Jinjie Ruan 2025-06-24 213 kmap_assert_nomap();
a70e9f647f501e3 Jinjie Ruan 2025-06-24 214 lockdep_assert_irqs_disabled();
a70e9f647f501e3 Jinjie Ruan 2025-06-24 215 lockdep_sys_exit();
a70e9f647f501e3 Jinjie Ruan 2025-06-24 216 }
a70e9f647f501e3 Jinjie Ruan 2025-06-24 217
:::::: The code at line 201 was first introduced by commit
:::::: a70e9f647f501e36a6a092888b1ea7386b7c5664 entry: Split generic entry into generic exception and syscall entry
:::::: TO: Jinjie Ruan <ruanjinjie@xxxxxxxxxx>
:::::: CC: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki