diff options
author | Josh Poimboeuf <jpoimboe@kernel.org> | 2025-03-27 22:04:21 -0700 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2025-03-28 14:47:02 +0100 |
commit | 69d41d6dafff0967565b971d950bd10443e4076c (patch) | |
tree | ff1614d87b893eb6f1d2a04cf701290d0d550403 /tools | |
parent | d9a595c3850ea4383628115df2bb533af3b29f4f (diff) | |
download | linux-69d41d6dafff0967565b971d950bd10443e4076c.tar.gz linux-69d41d6dafff0967565b971d950bd10443e4076c.tar.bz2 linux-69d41d6dafff0967565b971d950bd10443e4076c.zip |
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@arndb.de>
Reported-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/5df4ff89c9e4b9e788b77b0531234ffa7ba03e9e.1743136205.git.jpoimboe@kernel.org
Closes: https://lore.kernel.org/d86b4cc6-0b97-4095-8793-a7384410b8ab@app.fastmail.com
Closes: https://lore.kernel.org/Z-V_rruKY0-36pqA@gmail.com
Diffstat (limited to 'tools')
-rw-r--r-- | tools/objtool/check.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/objtool/check.c b/tools/objtool/check.c index 3bf29923d5c0..29de1709ea00 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))) |