objtool/x86: Fixup frame-pointer vs rethunk
authorPeter Zijlstra <peterz@infradead.org>
Wed, 16 Aug 2023 11:59:21 +0000 (13:59 +0200)
committerBorislav Petkov (AMD) <bp@alien8.de>
Wed, 16 Aug 2023 22:44:35 +0000 (00:44 +0200)
commitdbf46008775516f7f25c95b7760041c286299783
tree6265d866cbcdee6a2cc59298219576055c0807ee
parent9dbd23e42ff0b10c9b02c9e649c76e5228241a8e
objtool/x86: Fixup frame-pointer vs rethunk

For stack-validation of a frame-pointer build, objtool validates that
every CALL instruction is preceded by a frame-setup. The new SRSO
return thunks violate this with their RSB stuffing trickery.

Extend the __fentry__ exception to also cover the embedded_insn case
used for this. This cures:

  vmlinux.o: warning: objtool: srso_untrain_ret+0xd: call without frame pointer save/setup

Fixes: 4ae68b26c3ab ("objtool/x86: Fix SRSO mess")
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
Link: https://lore.kernel.org/r/20230816115921.GH980931@hirez.programming.kicks-ass.net
tools/objtool/check.c