1/* SPDX-License-Identifier: GPL-2.0 */
2
3/*
4 * This is a (sorted!) list of all known __noreturn functions in the kernel.
5 * It's needed for objtool to properly reverse-engineer the control flow graph.
6 *
7 * Yes, this is unfortunate. A better solution is in the works.
8 */
9NORETURN(__fortify_panic)
10NORETURN(__kunit_abort)
11NORETURN(__module_put_and_kthread_exit)
12NORETURN(__reiserfs_panic)
13NORETURN(__stack_chk_fail)
14NORETURN(__tdx_hypercall_failed)
15NORETURN(__ubsan_handle_builtin_unreachable)
16NORETURN(arch_cpu_idle_dead)
17NORETURN(bch2_trans_in_restart_error)
18NORETURN(bch2_trans_restart_error)
19NORETURN(cpu_bringup_and_idle)
20NORETURN(cpu_startup_entry)
21NORETURN(do_exit)
22NORETURN(do_group_exit)
23NORETURN(do_task_dead)
24NORETURN(ex_handler_msr_mce)
25NORETURN(hlt_play_dead)
26NORETURN(hv_ghcb_terminate)
27NORETURN(kthread_complete_and_exit)
28NORETURN(kthread_exit)
29NORETURN(kunit_try_catch_throw)
30NORETURN(machine_real_restart)
31NORETURN(make_task_dead)
32NORETURN(mpt_halt_firmware)
33NORETURN(nmi_panic_self_stop)
34NORETURN(panic)
35NORETURN(panic_smp_self_stop)
36NORETURN(rest_init)
37NORETURN(rewind_stack_and_make_dead)
38NORETURN(sev_es_terminate)
39NORETURN(snp_abort)
40NORETURN(start_kernel)
41NORETURN(stop_this_cpu)
42NORETURN(usercopy_abort)
43NORETURN(x86_64_start_kernel)
44NORETURN(x86_64_start_reservations)
45NORETURN(xen_cpu_bringup_again)
46NORETURN(xen_start_kernel)
47

source code of linux/tools/objtool/noreturns.h