From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S941197AbcIVVV2 (ORCPT ); Thu, 22 Sep 2016 17:21:28 -0400 Received: from mx1.redhat.com ([209.132.183.28]:36974 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S935004AbcIVVV1 (ORCPT ); Thu, 22 Sep 2016 17:21:27 -0400 Date: Thu, 22 Sep 2016 16:21:25 -0500 From: Josh Poimboeuf To: Ingo Molnar Cc: Peter Zijlstra , kbuild-all@01.org, linux-kernel@vger.kernel.org, tipbuild@zytor.com Subject: [PATCH] objtool: add do_task_dead() to global noreturn list Message-ID: <20160922212125.zbuewckqll4yur25@treble> References: <201609230208.d3pdLI2R%fengguang.wu@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <201609230208.d3pdLI2R%fengguang.wu@intel.com> User-Agent: Mutt/1.6.0.1 (2016-04-01) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Thu, 22 Sep 2016 21:21:26 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 Signed-off-by: Josh Poimboeuf --- 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