diff options
author | Josh Poimboeuf <jpoimboe@redhat.com> | 2020-04-01 13:23:29 -0500 |
---|---|---|
committer | Borislav Petkov <bp@suse.de> | 2020-04-14 12:24:22 +0200 |
commit | b296695298d8632d8b703ac25fe70be34a07c0d9 (patch) | |
tree | 8ce418b7ccf51ec2dde50bfbb4d18560299ae255 | |
parent | b401efc120a399dfda1f4d2858a4de365c9b08ef (diff) | |
download | linux-b296695298d8632d8b703ac25fe70be34a07c0d9.tar.gz linux-b296695298d8632d8b703ac25fe70be34a07c0d9.tar.bz2 linux-b296695298d8632d8b703ac25fe70be34a07c0d9.zip |
objtool: Make BP scratch register warning more robust
If func is NULL, a seg fault can result.
This is a theoretical issue which was found by Coverity, ID: 1492002
("Dereference after null check").
Fixes: c705cecc8431 ("objtool: Track original function across branches")
Reported-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/afc628693a37acd287e843bcc5c0430263d93c74.1585761021.git.jpoimboe@redhat.com
-rw-r--r-- | tools/objtool/check.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/tools/objtool/check.c b/tools/objtool/check.c index cb2d299664e7..4b170fd08a28 100644 --- a/tools/objtool/check.c +++ b/tools/objtool/check.c @@ -2005,8 +2005,8 @@ static int validate_return(struct symbol *func, struct instruction *insn, struct } if (state->bp_scratch) { - WARN("%s uses BP as a scratch register", - func->name); + WARN_FUNC("BP used as a scratch register", + insn->sec, insn->offset); return 1; } |