xref: /linux/tools/objtool/noreturns.h (revision 7f71507851fc7764b36a3221839607d3a45c2025)
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  */
9 NORETURN(__fortify_panic)
10 NORETURN(__ia32_sys_exit)
11 NORETURN(__ia32_sys_exit_group)
12 NORETURN(__kunit_abort)
13 NORETURN(__module_put_and_kthread_exit)
14 NORETURN(__stack_chk_fail)
15 NORETURN(__tdx_hypercall_failed)
16 NORETURN(__ubsan_handle_builtin_unreachable)
17 NORETURN(__x64_sys_exit)
18 NORETURN(__x64_sys_exit_group)
19 NORETURN(arch_cpu_idle_dead)
20 NORETURN(bch2_trans_in_restart_error)
21 NORETURN(bch2_trans_restart_error)
22 NORETURN(cpu_bringup_and_idle)
23 NORETURN(cpu_startup_entry)
24 NORETURN(do_exit)
25 NORETURN(do_group_exit)
26 NORETURN(do_task_dead)
27 NORETURN(ex_handler_msr_mce)
28 NORETURN(hlt_play_dead)
29 NORETURN(hv_ghcb_terminate)
30 NORETURN(kthread_complete_and_exit)
31 NORETURN(kthread_exit)
32 NORETURN(kunit_try_catch_throw)
33 NORETURN(machine_real_restart)
34 NORETURN(make_task_dead)
35 NORETURN(mpt_halt_firmware)
36 NORETURN(nmi_panic_self_stop)
37 NORETURN(panic)
38 NORETURN(panic_smp_self_stop)
39 NORETURN(rest_init)
40 NORETURN(rewind_stack_and_make_dead)
41 NORETURN(rust_begin_unwind)
42 NORETURN(rust_helper_BUG)
43 NORETURN(sev_es_terminate)
44 NORETURN(snp_abort)
45 NORETURN(start_kernel)
46 NORETURN(stop_this_cpu)
47 NORETURN(usercopy_abort)
48 NORETURN(x86_64_start_kernel)
49 NORETURN(x86_64_start_reservations)
50 NORETURN(xen_cpu_bringup_again)
51 NORETURN(xen_start_kernel)
52