Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1709522

[tip:x86/asm] objtool: Fix validate_branch() return codes

Path csiph.com!news.redatomik.org!aioe.org!bofh.it!news.nic.it!robomod
From tip-bot for Josh Poimboeuf <tipbot@zytor.com>
Newsgroups linux.kernel
Subject [tip:x86/asm] objtool: Fix validate_branch() return codes
Date Fri, 11 Aug 2017 14:20:02 +0200
Message-ID <udh50-3qa-1@gated-at.bofh.it> (permalink)
References <ud3lo-31s-27@gated-at.bofh.it>
X-Original-To linux-tip-commits@vger.kernel.org
Reply-To bp@alien8.de, arnd@arndb.de, mingo@kernel.org, dvlasenk@redhat.com, jpoimboe@redhat.com, tglx@linutronix.de, luto@kernel.org, peterz@infradead.org, linux-kernel@vger.kernel.org, hpa@zytor.com, torvalds@linux-foundation.org, brgerst@gmail.com
Git-Commit-ID 12b25729a194198e3c4289adaddc4115b10b094e
X-Mailer tip-git-log-daemon
Robot-ID <tip-bot.git.kernel.org>
Robot-Unsubscribe Contact <mailto:hpa@kernel.org> to get blacklisted from these emails
MIME-Version 1.0
Content-Transfer-Encoding 8bit
Content-Type text/plain; charset=UTF-8
Content-Disposition inline
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 61
Organization linux.* mail to news gateway
X-Original-Cc arnd@arndb.de, mingo@kernel.org, bp@alien8.de, linux-kernel@vger.kernel.org, hpa@zytor.com, torvalds@linux-foundation.org, brgerst@gmail.com, dvlasenk@redhat.com, jpoimboe@redhat.com, tglx@linutronix.de, luto@kernel.org, peterz@infradead.org
X-Original-Date Fri, 11 Aug 2017 05:13:32 -0700
X-Original-Message-ID <tip-12b25729a194198e3c4289adaddc4115b10b094e@git.kernel.org>
X-Original-References <d86671cfde823b50477cd2f6f548dfe54871e24d.1502401017.git.jpoimboe@redhat.com>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref csiph.com linux.kernel:1709522

Show key headers only | View raw


Commit-ID:  12b25729a194198e3c4289adaddc4115b10b094e
Gitweb:     http://git.kernel.org/tip/12b25729a194198e3c4289adaddc4115b10b094e
Author:     Josh Poimboeuf <jpoimboe@redhat.com>
AuthorDate: Thu, 10 Aug 2017 16:37:25 -0500
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Fri, 11 Aug 2017 14:06:14 +0200

objtool: Fix validate_branch() return codes

The validate_branch() function should never return a negative value.
Errors are treated as warnings so that even if something goes wrong,
objtool does its best to generate ORC data for the rest of the file.

Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Fixes: baa41469a7b9 ("objtool: Implement stack validation 2.0")
Link: http://lkml.kernel.org/r/d86671cfde823b50477cd2f6f548dfe54871e24d.1502401017.git.jpoimboe@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 tools/objtool/check.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/objtool/check.c b/tools/objtool/check.c
index 4f0c4ae..5814e90 100644
--- a/tools/objtool/check.c
+++ b/tools/objtool/check.c
@@ -1524,7 +1524,7 @@ static int validate_branch(struct objtool_file *file, struct instruction *first,
 	if (insn->alt_group && list_empty(&insn->alts)) {
 		WARN_FUNC("don't know how to handle branch to middle of alternative instruction group",
 			  sec, insn->offset);
-		return -1;
+		return 1;
 	}
 
 	while (1) {
@@ -1543,7 +1543,7 @@ static int validate_branch(struct objtool_file *file, struct instruction *first,
 		if (func && insn->ignore) {
 			WARN_FUNC("BUG: why am I validating an ignored function?",
 				  sec, insn->offset);
-			return -1;
+			return 1;
 		}
 
 		if (insn->visited) {
@@ -1681,7 +1681,7 @@ static int validate_branch(struct objtool_file *file, struct instruction *first,
 
 		case INSN_STACK:
 			if (update_insn_state(insn, &state))
-				return -1;
+				return 1;
 
 			break;
 

Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread


Thread

[PATCH 1/2] objtool: Fix validate_branch() return codes Josh Poimboeuf <jpoimboe@redhat.com> - 2017-08-10 23:40 +0200
  [tip:x86/asm] objtool: Fix validate_branch() return codes tip-bot for Josh Poimboeuf <tipbot@zytor.com> - 2017-08-11 14:20 +0200

csiph-web