exit: Mark do_group_exit() __noreturn
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 Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Acked-by: Josh Poimboeuf <jpoimboe@redhat.com> Link: https://lore.kernel.org/r/20220308154319.351270711@infradead.org
This commit is contained in:
parent
f9cdf7ca57
commit
eae654f1c2
|
@ -79,7 +79,7 @@ static inline void exit_thread(struct task_struct *tsk)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
extern void do_group_exit(int);
|
extern __noreturn void do_group_exit(int);
|
||||||
|
|
||||||
extern void exit_files(struct task_struct *);
|
extern void exit_files(struct task_struct *);
|
||||||
extern void exit_itimers(struct signal_struct *);
|
extern void exit_itimers(struct signal_struct *);
|
||||||
|
|
|
@ -906,7 +906,7 @@ SYSCALL_DEFINE1(exit, int, error_code)
|
||||||
* Take down every thread in the group. This is called by fatal signals
|
* Take down every thread in the group. This is called by fatal signals
|
||||||
* as well as by sys_exit_group (below).
|
* as well as by sys_exit_group (below).
|
||||||
*/
|
*/
|
||||||
void
|
void __noreturn
|
||||||
do_group_exit(int exit_code)
|
do_group_exit(int exit_code)
|
||||||
{
|
{
|
||||||
struct signal_struct *sig = current->signal;
|
struct signal_struct *sig = current->signal;
|
||||||
|
|
|
@ -181,6 +181,7 @@ static bool __dead_end_function(struct objtool_file *file, struct symbol *func,
|
||||||
"kunit_try_catch_throw",
|
"kunit_try_catch_throw",
|
||||||
"xen_start_kernel",
|
"xen_start_kernel",
|
||||||
"cpu_bringup_and_idle",
|
"cpu_bringup_and_idle",
|
||||||
|
"do_group_exit",
|
||||||
"stop_this_cpu",
|
"stop_this_cpu",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue