[PATCH] objtool: add do_task_dead() to global noreturn list

From: Josh Poimboeuf
Date: Thu Sep 22 2016 - 17:21:32 EST


objtool reports the following warning:

kernel/exit.o: warning: objtool: do_exit() falls through to next function complete_and_exit()

The warning is caused by do_exit()'s new call to do_task_dead(), which
is a new "noreturn" function which objtool doesn't know about yet.

(objtool has to know all the global noreturn functions so it can follow
the control flow of any functions which call them. Unfortunately they
need to be hard-coded becuase there's not an automated way to detect
them.)

Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx>
Signed-off-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
---
tools/objtool/builtin-check.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/tools/objtool/builtin-check.c b/tools/objtool/builtin-check.c
index bd09d0e..143b6cd 100644
--- a/tools/objtool/builtin-check.c
+++ b/tools/objtool/builtin-check.c
@@ -175,6 +175,7 @@ static int __dead_end_function(struct objtool_file *file, struct symbol *func,
"__stack_chk_fail",
"panic",
"do_exit",
+ "do_task_dead",
"__module_put_and_exit",
"complete_and_exit",
"kvm_spurious_fault",
--
2.7.4