[tip: objtool/urgent] objtool: Fix segfault in ignore_unreachable_insn()
From: tip-bot2 for Josh Poimboeuf
Date: Fri Mar 28 2025 - 10:04:55 EST
The following commit has been merged into the objtool/urgent branch of tip:
Commit-ID: 69d41d6dafff0967565b971d950bd10443e4076c
Gitweb: https://git.kernel.org/tip/69d41d6dafff0967565b971d950bd10443e4076c
Author: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
AuthorDate: Thu, 27 Mar 2025 22:04:21 -07:00
Committer: Ingo Molnar <mingo@xxxxxxxxxx>
CommitterDate: Fri, 28 Mar 2025 14:47:02 +01:00
objtool: Fix segfault in ignore_unreachable_insn()
Check 'prev_insn' before dereferencing it.
Fixes: bd841d6154f5 ("objtool: Fix CONFIG_UBSAN_TRAP unreachable warnings")
Reported-by: Arnd Bergmann <arnd@xxxxxxxx>
Reported-by: Ingo Molnar <mingo@xxxxxxxxxx>
Signed-off-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Link: https://lore.kernel.org/r/5df4ff89c9e4b9e788b77b0531234ffa7ba03e9e.1743136205.git.jpoimboe@xxxxxxxxxx
Closes: https://lore.kernel.org/d86b4cc6-0b97-4095-8793-a7384410b8ab@xxxxxxxxxxxxxxxx
Closes: https://lore.kernel.org/Z-V_rruKY0-36pqA@xxxxxxxxx
---
tools/objtool/check.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/objtool/check.c b/tools/objtool/check.c
index 3bf2992..29de170 100644
--- a/tools/objtool/check.c
+++ b/tools/objtool/check.c
@@ -4037,7 +4037,7 @@ static bool ignore_unreachable_insn(struct objtool_file *file, struct instructio
* It may also insert a UD2 after calling a __noreturn function.
*/
prev_insn = prev_insn_same_sec(file, insn);
- if (prev_insn->dead_end &&
+ if (prev_insn && prev_insn->dead_end &&
(insn->type == INSN_BUG ||
(insn->type == INSN_JUMP_UNCONDITIONAL &&
insn->jump_dest && insn->jump_dest->type == INSN_BUG)))