[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <Y8ARvWVv5gXT88Ee@gmail.com>
Date: Thu, 12 Jan 2023 14:57:17 +0100
From: Ingo Molnar <mingo@...nel.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: linux-kernel@...r.kernel.org,
Peter Zijlstra <peterz@...radead.org>,
Josh Poimboeuf <jpoimboe@...nel.org>,
Thomas Gleixner <tglx@...utronix.de>,
Borislav Petkov <bp@...en8.de>,
Andrew Morton <akpm@...ux-foundation.org>
Subject: [GIT PULL] objtool fix
Linus,
Please pull the latest core/urgent git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git core-urgent-2023-01-12
# HEAD: cad90e5381d840cf2296aaac9b3eff71a30b7c5b objtool: Tolerate STT_NOTYPE symbols at end of section
- Fix objtool to be more permissive with hand-written assembly
that uses non-function symbols in executable sections.
Thanks,
Ingo
------------------>
Nicholas Piggin (1):
objtool: Tolerate STT_NOTYPE symbols at end of section
tools/objtool/check.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/tools/objtool/check.c b/tools/objtool/check.c
index 4350be739f4f..4b7c8b33069e 100644
--- a/tools/objtool/check.c
+++ b/tools/objtool/check.c
@@ -427,6 +427,15 @@ static int decode_instructions(struct objtool_file *file)
if (func->type != STT_NOTYPE && func->type != STT_FUNC)
continue;
+ if (func->offset == sec->sh.sh_size) {
+ /* Heuristic: likely an "end" symbol */
+ if (func->type == STT_NOTYPE)
+ continue;
+ WARN("%s(): STT_FUNC at end of section",
+ func->name);
+ return -1;
+ }
+
if (func->return_thunk || func->alias != func)
continue;
Powered by blists - more mailing lists