diff options
author | Christophe Leroy <christophe.leroy@csgroup.eu> | 2022-11-14 23:27:46 +0530 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2023-01-18 11:41:43 +0100 |
commit | 418ef921cce2d7415fab7e3e93529227f239e4bb (patch) | |
tree | 714fea0e5ee30a767acfa4444a0ec2d87b726651 /tools | |
parent | 28046827c305373459159c9377939774a6ad5f31 (diff) | |
download | linux-stable-418ef921cce2d7415fab7e3e93529227f239e4bb.tar.gz linux-stable-418ef921cce2d7415fab7e3e93529227f239e4bb.tar.bz2 linux-stable-418ef921cce2d7415fab7e3e93529227f239e4bb.zip |
objtool: Fix SEGFAULT
[ Upstream commit efb11fdb3e1a9f694fa12b70b21e69e55ec59c36 ]
find_insn() will return NULL in case of failure. Check insn in order
to avoid a kernel Oops for NULL pointer dereference.
Tested-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Reviewed-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20221114175754.1131267-9-sv@linux.ibm.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
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 bae6b261481d..ccf5580442d2 100644 --- a/tools/objtool/check.c +++ b/tools/objtool/check.c @@ -162,7 +162,7 @@ static bool __dead_end_function(struct objtool_file *file, struct symbol *func, return false; insn = find_insn(file, func->sec, func->offset); - if (!insn->func) + if (!insn || !insn->func) return false; func_for_each_insn_all(file, func, insn) { |