From: Alexandre Chartre Date: Tue, 14 Apr 2020 10:36:10 +0000 (+0200) Subject: objtool: is_fentry_call() crashes if call has no destination X-Git-Tag: v5.10.7~2529^2~19 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=87cf61fe848ca8ddf091548671e168f52e8a718e;p=platform%2Fkernel%2Flinux-rpi.git objtool: is_fentry_call() crashes if call has no destination Fix is_fentry_call() so that it works if a call has no destination set (call_dest). This needs to be done in order to support intra- function calls. Signed-off-by: Alexandre Chartre Signed-off-by: Peter Zijlstra (Intel) Reviewed-by: Miroslav Benes Acked-by: Josh Poimboeuf Link: https://lkml.kernel.org/r/20200414103618.12657-2-alexandre.chartre@oracle.com --- diff --git a/tools/objtool/check.c b/tools/objtool/check.c index fa9bf36..8af8de2 100644 --- a/tools/objtool/check.c +++ b/tools/objtool/check.c @@ -1484,7 +1484,7 @@ static int decode_sections(struct objtool_file *file) static bool is_fentry_call(struct instruction *insn) { - if (insn->type == INSN_CALL && + if (insn->type == INSN_CALL && insn->call_dest && insn->call_dest->type == STT_NOTYPE && !strcmp(insn->call_dest->name, "__fentry__")) return true;