* [mark:arm64/entry/rework 2/11] include/linux/entry-common.h:324:2: error: call to undeclared function 'local_irq_disable_exit_to_user'; ISO C99 and later do not support implicit function declarations
@ 2026-04-03 8:40 kernel test robot
0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2026-04-03 8:40 UTC (permalink / raw)
To: Mark Rutland; +Cc: llvm, oe-kbuild-all
tree: https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git arm64/entry/rework
head: 1e10c666f8f7ec4524fd226186a6ae0ad495aad5
commit: be5c2d5a23beab5211c64f1237c238a1df622c47 [2/11] entry: Remove local_irq_{enable,disable}_exit_to_user()
config: x86_64-allnoconfig (https://download.01.org/0day-ci/archive/20260402/202604022127.5B34nHEM-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260402/202604022127.5B34nHEM-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202604022127.5B34nHEM-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from arch/x86/entry/syscall_64.c:8:
>> include/linux/entry-common.h:324:2: error: call to undeclared function 'local_irq_disable_exit_to_user'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
324 | local_irq_disable_exit_to_user();
| ^
1 error generated.
vim +/local_irq_disable_exit_to_user +324 include/linux/entry-common.h
c6156e1da633f2 Sven Schnelle 2020-12-01 288
a9f3a74a29af09 Thomas Gleixner 2020-07-22 289 /**
a9f3a74a29af09 Thomas Gleixner 2020-07-22 290 * syscall_exit_to_user_mode - Handle work before returning to user mode
a9f3a74a29af09 Thomas Gleixner 2020-07-22 291 * @regs: Pointer to currents pt_regs
a9f3a74a29af09 Thomas Gleixner 2020-07-22 292 *
e1647100c22eb7 Jinjie Ruan 2026-01-28 293 * Invoked with interrupts enabled and fully valid @regs. Returns with all
a9f3a74a29af09 Thomas Gleixner 2020-07-22 294 * work handled, interrupts disabled such that the caller can immediately
a9f3a74a29af09 Thomas Gleixner 2020-07-22 295 * switch to user mode. Called from architecture specific syscall and ret
a9f3a74a29af09 Thomas Gleixner 2020-07-22 296 * from fork code.
a9f3a74a29af09 Thomas Gleixner 2020-07-22 297 *
a9f3a74a29af09 Thomas Gleixner 2020-07-22 298 * The call order is:
a9f3a74a29af09 Thomas Gleixner 2020-07-22 299 * 1) One-time syscall exit work:
a9f3a74a29af09 Thomas Gleixner 2020-07-22 300 * - rseq syscall exit
a9f3a74a29af09 Thomas Gleixner 2020-07-22 301 * - audit
a9f3a74a29af09 Thomas Gleixner 2020-07-22 302 * - syscall tracing
0cfcb2b9ef48bb Eric W. Biederman 2022-01-27 303 * - ptrace (single stepping)
a9f3a74a29af09 Thomas Gleixner 2020-07-22 304 *
a9f3a74a29af09 Thomas Gleixner 2020-07-22 305 * 2) Preparatory work
e1647100c22eb7 Jinjie Ruan 2026-01-28 306 * - Disable interrupts
a9f3a74a29af09 Thomas Gleixner 2020-07-22 307 * - Exit to user mode loop (common TIF handling). Invokes
a9f3a74a29af09 Thomas Gleixner 2020-07-22 308 * arch_exit_to_user_mode_work() for architecture specific TIF work
a9f3a74a29af09 Thomas Gleixner 2020-07-22 309 * - Architecture specific one time work arch_exit_to_user_mode_prepare()
a9f3a74a29af09 Thomas Gleixner 2020-07-22 310 * - Address limit and lockdep checks
a9f3a74a29af09 Thomas Gleixner 2020-07-22 311 *
310de1a678b218 Sven Schnelle 2020-12-01 312 * 3) Final transition (lockdep, tracing, context tracking, RCU), i.e. the
310de1a678b218 Sven Schnelle 2020-12-01 313 * functionality in exit_to_user_mode().
c6156e1da633f2 Sven Schnelle 2020-12-01 314 *
e1647100c22eb7 Jinjie Ruan 2026-01-28 315 * This is a combination of syscall_exit_to_user_mode_work() (1), disabling
e1647100c22eb7 Jinjie Ruan 2026-01-28 316 * interrupts followed by syscall_exit_to_user_mode_prepare() (2) and
e1647100c22eb7 Jinjie Ruan 2026-01-28 317 * exit_to_user_mode() (3). This function is preferred unless there is a
e1647100c22eb7 Jinjie Ruan 2026-01-28 318 * compelling architectural reason to invoke the functions separately.
a9f3a74a29af09 Thomas Gleixner 2020-07-22 319 */
e43b8bb56e537b Charlie Jenkins 2025-03-20 320 static __always_inline void syscall_exit_to_user_mode(struct pt_regs *regs)
e43b8bb56e537b Charlie Jenkins 2025-03-20 321 {
e43b8bb56e537b Charlie Jenkins 2025-03-20 322 instrumentation_begin();
e43b8bb56e537b Charlie Jenkins 2025-03-20 323 syscall_exit_to_user_mode_work(regs);
e1647100c22eb7 Jinjie Ruan 2026-01-28 @324 local_irq_disable_exit_to_user();
e1647100c22eb7 Jinjie Ruan 2026-01-28 325 syscall_exit_to_user_mode_prepare(regs);
e43b8bb56e537b Charlie Jenkins 2025-03-20 326 instrumentation_end();
e43b8bb56e537b Charlie Jenkins 2025-03-20 327 exit_to_user_mode();
e43b8bb56e537b Charlie Jenkins 2025-03-20 328 }
a9f3a74a29af09 Thomas Gleixner 2020-07-22 329
:::::: The code at line 324 was first introduced by commit
:::::: e1647100c22eb718e9833211722cbb78e339047c entry: Rework syscall_exit_to_user_mode_work() for architecture reuse
:::::: TO: Jinjie Ruan <ruanjinjie@huawei.com>
:::::: CC: Thomas Gleixner <tglx@kernel.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 2+ messages in thread* [mark:arm64/entry/rework 2/11] include/linux/entry-common.h:324:2: error: call to undeclared function 'local_irq_disable_exit_to_user'; ISO C99 and later do not support implicit function declarations
@ 2026-04-02 11:48 kernel test robot
0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2026-04-02 11:48 UTC (permalink / raw)
To: Mark Rutland; +Cc: llvm, oe-kbuild-all
tree: https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git arm64/entry/rework
head: 1e10c666f8f7ec4524fd226186a6ae0ad495aad5
commit: be5c2d5a23beab5211c64f1237c238a1df622c47 [2/11] entry: Remove local_irq_{enable,disable}_exit_to_user()
config: x86_64-kexec (https://download.01.org/0day-ci/archive/20260402/202604021323.WS9SEJPr-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260402/202604021323.WS9SEJPr-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202604021323.WS9SEJPr-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from arch/x86/entry/syscall_64.c:8:
>> include/linux/entry-common.h:324:2: error: call to undeclared function 'local_irq_disable_exit_to_user'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
324 | local_irq_disable_exit_to_user();
| ^
1 error generated.
vim +/local_irq_disable_exit_to_user +324 include/linux/entry-common.h
c6156e1da633f2 Sven Schnelle 2020-12-01 288
a9f3a74a29af09 Thomas Gleixner 2020-07-22 289 /**
a9f3a74a29af09 Thomas Gleixner 2020-07-22 290 * syscall_exit_to_user_mode - Handle work before returning to user mode
a9f3a74a29af09 Thomas Gleixner 2020-07-22 291 * @regs: Pointer to currents pt_regs
a9f3a74a29af09 Thomas Gleixner 2020-07-22 292 *
e1647100c22eb7 Jinjie Ruan 2026-01-28 293 * Invoked with interrupts enabled and fully valid @regs. Returns with all
a9f3a74a29af09 Thomas Gleixner 2020-07-22 294 * work handled, interrupts disabled such that the caller can immediately
a9f3a74a29af09 Thomas Gleixner 2020-07-22 295 * switch to user mode. Called from architecture specific syscall and ret
a9f3a74a29af09 Thomas Gleixner 2020-07-22 296 * from fork code.
a9f3a74a29af09 Thomas Gleixner 2020-07-22 297 *
a9f3a74a29af09 Thomas Gleixner 2020-07-22 298 * The call order is:
a9f3a74a29af09 Thomas Gleixner 2020-07-22 299 * 1) One-time syscall exit work:
a9f3a74a29af09 Thomas Gleixner 2020-07-22 300 * - rseq syscall exit
a9f3a74a29af09 Thomas Gleixner 2020-07-22 301 * - audit
a9f3a74a29af09 Thomas Gleixner 2020-07-22 302 * - syscall tracing
0cfcb2b9ef48bb Eric W. Biederman 2022-01-27 303 * - ptrace (single stepping)
a9f3a74a29af09 Thomas Gleixner 2020-07-22 304 *
a9f3a74a29af09 Thomas Gleixner 2020-07-22 305 * 2) Preparatory work
e1647100c22eb7 Jinjie Ruan 2026-01-28 306 * - Disable interrupts
a9f3a74a29af09 Thomas Gleixner 2020-07-22 307 * - Exit to user mode loop (common TIF handling). Invokes
a9f3a74a29af09 Thomas Gleixner 2020-07-22 308 * arch_exit_to_user_mode_work() for architecture specific TIF work
a9f3a74a29af09 Thomas Gleixner 2020-07-22 309 * - Architecture specific one time work arch_exit_to_user_mode_prepare()
a9f3a74a29af09 Thomas Gleixner 2020-07-22 310 * - Address limit and lockdep checks
a9f3a74a29af09 Thomas Gleixner 2020-07-22 311 *
310de1a678b218 Sven Schnelle 2020-12-01 312 * 3) Final transition (lockdep, tracing, context tracking, RCU), i.e. the
310de1a678b218 Sven Schnelle 2020-12-01 313 * functionality in exit_to_user_mode().
c6156e1da633f2 Sven Schnelle 2020-12-01 314 *
e1647100c22eb7 Jinjie Ruan 2026-01-28 315 * This is a combination of syscall_exit_to_user_mode_work() (1), disabling
e1647100c22eb7 Jinjie Ruan 2026-01-28 316 * interrupts followed by syscall_exit_to_user_mode_prepare() (2) and
e1647100c22eb7 Jinjie Ruan 2026-01-28 317 * exit_to_user_mode() (3). This function is preferred unless there is a
e1647100c22eb7 Jinjie Ruan 2026-01-28 318 * compelling architectural reason to invoke the functions separately.
a9f3a74a29af09 Thomas Gleixner 2020-07-22 319 */
e43b8bb56e537b Charlie Jenkins 2025-03-20 320 static __always_inline void syscall_exit_to_user_mode(struct pt_regs *regs)
e43b8bb56e537b Charlie Jenkins 2025-03-20 321 {
e43b8bb56e537b Charlie Jenkins 2025-03-20 322 instrumentation_begin();
e43b8bb56e537b Charlie Jenkins 2025-03-20 323 syscall_exit_to_user_mode_work(regs);
e1647100c22eb7 Jinjie Ruan 2026-01-28 @324 local_irq_disable_exit_to_user();
e1647100c22eb7 Jinjie Ruan 2026-01-28 325 syscall_exit_to_user_mode_prepare(regs);
e43b8bb56e537b Charlie Jenkins 2025-03-20 326 instrumentation_end();
e43b8bb56e537b Charlie Jenkins 2025-03-20 327 exit_to_user_mode();
e43b8bb56e537b Charlie Jenkins 2025-03-20 328 }
a9f3a74a29af09 Thomas Gleixner 2020-07-22 329
:::::: The code at line 324 was first introduced by commit
:::::: e1647100c22eb718e9833211722cbb78e339047c entry: Rework syscall_exit_to_user_mode_work() for architecture reuse
:::::: TO: Jinjie Ruan <ruanjinjie@huawei.com>
:::::: CC: Thomas Gleixner <tglx@kernel.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-04-03 8:41 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-03 8:40 [mark:arm64/entry/rework 2/11] include/linux/entry-common.h:324:2: error: call to undeclared function 'local_irq_disable_exit_to_user'; ISO C99 and later do not support implicit function declarations kernel test robot
-- strict thread matches above, loose matches on Subject: below --
2026-04-02 11:48 kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox