All of lore.kernel.org
 help / color / mirror / Atom feed
* [tip:sched/core 44/47] kernel/exit.o: warning: objtool: do_exit() falls through to next function complete_and_exit()
@ 2016-09-22 18:37 kbuild test robot
  2016-09-22 21:21 ` [PATCH] objtool: add do_task_dead() to global noreturn list Josh Poimboeuf
  0 siblings, 1 reply; 3+ messages in thread
From: kbuild test robot @ 2016-09-22 18:37 UTC (permalink / raw)
  To: Peter Zijlstra; +Cc: kbuild-all, linux-kernel, tipbuild, Ingo Molnar

[-- Attachment #1: Type: text/plain, Size: 782 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git sched/core
head:   a18a579e5f84daa74f64b1f1b652b4a6a8d6f8b4
commit: 9af6528ee9b682df7f29dbee86fbba0b67eab944 [44/47] sched/core: Optimize __schedule()
config: x86_64-randconfig-v0-09221826 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        git checkout 9af6528ee9b682df7f29dbee86fbba0b67eab944
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All warnings (new ones prefixed by >>):

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

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 26246 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH] objtool: add do_task_dead() to global noreturn list
  2016-09-22 18:37 [tip:sched/core 44/47] kernel/exit.o: warning: objtool: do_exit() falls through to next function complete_and_exit() kbuild test robot
@ 2016-09-22 21:21 ` Josh Poimboeuf
  2016-09-23  5:33   ` [tip:sched/core] objtool: Add " tip-bot for Josh Poimboeuf
  0 siblings, 1 reply; 3+ messages in thread
From: Josh Poimboeuf @ 2016-09-22 21:21 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: Peter Zijlstra, kbuild-all, linux-kernel, tipbuild

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@intel.com>
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
---
 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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [tip:sched/core] objtool: Add do_task_dead() to global noreturn list
  2016-09-22 21:21 ` [PATCH] objtool: add do_task_dead() to global noreturn list Josh Poimboeuf
@ 2016-09-23  5:33   ` tip-bot for Josh Poimboeuf
  0 siblings, 0 replies; 3+ messages in thread
From: tip-bot for Josh Poimboeuf @ 2016-09-23  5:33 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: hpa, peterz, jpoimboe, torvalds, tglx, mingo, fengguang.wu, linux-kernel

Commit-ID:  c1fad9ef7ed14aad464972e6444e7a3bd5670f26
Gitweb:     http://git.kernel.org/tip/c1fad9ef7ed14aad464972e6444e7a3bd5670f26
Author:     Josh Poimboeuf <jpoimboe@redhat.com>
AuthorDate: Thu, 22 Sep 2016 16:21:25 -0500
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Fri, 23 Sep 2016 07:28:05 +0200

objtool: Add do_task_dead() to global noreturn list

objtool reports the following new 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,
introduced by:

  9af6528ee9b6 ("sched/core: Optimize __schedule()")

( 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 because there's no automated way to detect them. )

Reported-by: kbuild test robot <fengguang.wu@intel.com>
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: kbuild-all@01.org
Cc: tipbuild@zytor.com
Link: http://lkml.kernel.org/r/20160922212125.zbuewckqll4yur25@treble
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 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",

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-09-23  5:34 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-22 18:37 [tip:sched/core 44/47] kernel/exit.o: warning: objtool: do_exit() falls through to next function complete_and_exit() kbuild test robot
2016-09-22 21:21 ` [PATCH] objtool: add do_task_dead() to global noreturn list Josh Poimboeuf
2016-09-23  5:33   ` [tip:sched/core] objtool: Add " tip-bot for Josh Poimboeuf

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.