aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJohn Sperbeck <jsperbeck@google.com>2023-10-28 18:41:31 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-11-08 17:26:43 +0100
commit37ffa428d58c87016c735c4ca3091873896ba52d (patch)
tree2570265f50da4fb9f186a72b406eca73d2887e21
parentf031e15d0bb8fb782a54f883545145a367ff5f5f (diff)
downloadaa-37ffa428d58c87016c735c4ca3091873896ba52d.tar.gz
objtool/x86: add missing embedded_insn check
When dbf460087755 ("objtool/x86: Fixup frame-pointer vs rethunk") was backported to some stable branches, the check for dest->embedded_insn in is_special_call() was missed. The result is that the warning it was intended to suppress still appears. For example on 6.1 (on kernels before 6.1, the '-s' argument would instead be 'check'): $ tools/objtool/objtool -s arch/x86/lib/retpoline.o arch/x86/lib/retpoline.o: warning: objtool: srso_untrain_ret+0xd: call without frame pointer save/setup With this patch, the warning is correctly suppressed, and the kernel still passes the normal Google kernel developer tests. Signed-off-by: John Sperbeck <jsperbeck@google.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--tools/objtool/check.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/objtool/check.c b/tools/objtool/check.c
index 36ad0b6b94a915..c3bb96e5bfa642 100644
--- a/tools/objtool/check.c
+++ b/tools/objtool/check.c
@@ -2202,7 +2202,7 @@ static bool is_special_call(struct instruction *insn)
if (!dest)
return false;
- if (dest->fentry)
+ if (dest->fentry || dest->embedded_insn)
return true;
}