vmlinux.o: warning: objtool: get_signal()+0x108: unreachable instruction 0000 000000000007f930 <get_signal>: ... 0103 7fa33: e8 00 00 00 00 call 7fa38 <get_signal+0x108> 7fa34: R_X86_64_PLT32 do_group_exit-0x4 0108 7fa38: 41 8b 45 74 mov 0x74(%r13),%eax
Unified · Split
| @@ -79,7 +79,7 @@ static inline void exit_thread(struct task_struct *tsk) · 78 unmodified lines | |||
| 79 | { | 79 | { |
| 80 | } | 80 | } |
| 81 | #endif | 81 | #endif |
| 82 | extern void do_group_exit(int); | 82 | extern __noreturn void do_group_exit(int); |
| 83 | 83 | ||
| 84 | extern void exit_files(struct task_struct *); | 84 | extern void exit_files(struct task_struct *); |
| 85 | extern void exit_itimers(struct signal_struct *); | 85 | extern void exit_itimers(struct signal_struct *); |
| @@ -906,7 +906,7 @@ SYSCALL_DEFINE1(exit, int, error_code) · 905 unmodified lines | |||
| 906 | * Take down every thread in the group. This is called by fatal signals | 906 | * Take down every thread in the group. This is called by fatal signals |
| 907 | * as well as by sys_exit_group (below). | 907 | * as well as by sys_exit_group (below). |
| 908 | */ | 908 | */ |
| 909 | void | 909 | void __noreturn |
| 910 | do_group_exit(int exit_code) | 910 | do_group_exit(int exit_code) |
| 911 | { | 911 | { |
| 912 | struct signal_struct *sig = current->signal; | 912 | struct signal_struct *sig = current->signal; |
| @@ -181,6 +181,7 @@ static bool __dead_end_function(struct objtool_file *file, struct symbol *func, · 180 unmodified lines | |||
| 181 | "kunit_try_catch_throw", | 181 | "kunit_try_catch_throw", |
| 182 | "xen_start_kernel", | 182 | "xen_start_kernel", |
| 183 | "cpu_bringup_and_idle", | 183 | "cpu_bringup_and_idle", |
| 184 | "do_group_exit", | ||
| 184 | "stop_this_cpu", | 185 | "stop_this_cpu", |
| 185 | }; | 186 | }; |
| 186 | 187 | ||