Commit 7cae4b1c authored by Josh Poimboeuf's avatar Josh Poimboeuf

x86/ftrace: Support objtool vmlinux.o validation in ftrace_64.S

With objtool vmlinux.o validation of return_to_handler(), now that
objtool has visibility inside the retpoline, jumping from EMPTY state to
a proper function state results in a stack state mismatch.

return_to_handler() is actually quite normal despite the underlying
magic.  Just annotate it as a normal function.
Acked-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
Signed-off-by: default avatarJosh Poimboeuf <jpoimboe@redhat.com>
Link: https://lore.kernel.org/r/14f48e623f61dbdcd84cf27a56ed8ccae73199ef.1611263462.git.jpoimboe@redhat.com
parent 82694854
...@@ -334,8 +334,7 @@ SYM_FUNC_START(ftrace_graph_caller) ...@@ -334,8 +334,7 @@ SYM_FUNC_START(ftrace_graph_caller)
retq retq
SYM_FUNC_END(ftrace_graph_caller) SYM_FUNC_END(ftrace_graph_caller)
SYM_CODE_START(return_to_handler) SYM_FUNC_START(return_to_handler)
UNWIND_HINT_EMPTY
subq $24, %rsp subq $24, %rsp
/* Save the return values */ /* Save the return values */
...@@ -350,5 +349,5 @@ SYM_CODE_START(return_to_handler) ...@@ -350,5 +349,5 @@ SYM_CODE_START(return_to_handler)
movq (%rsp), %rax movq (%rsp), %rax
addq $24, %rsp addq $24, %rsp
JMP_NOSPEC rdi JMP_NOSPEC rdi
SYM_CODE_END(return_to_handler) SYM_FUNC_END(return_to_handler)
#endif #endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment