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

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
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -334,8 +334,7 @@ SYM_FUNC_START(ftrace_graph_caller)
	retq
SYM_FUNC_END(ftrace_graph_caller)

SYM_CODE_START(return_to_handler)
	UNWIND_HINT_EMPTY
SYM_FUNC_START(return_to_handler)
	subq  $24, %rsp

	/* Save the return values */
@@ -350,5 +349,5 @@ SYM_CODE_START(return_to_handler)
	movq (%rsp), %rax
	addq $24, %rsp
	JMP_NOSPEC rdi
SYM_CODE_END(return_to_handler)
SYM_FUNC_END(return_to_handler)
#endif