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