Messages in this thread | | | Date | Tue, 18 Oct 2022 14:36:53 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH] ftrace,kcfi: Separate ftrace_stub() and ftrace_stub_graph() |
| |
On Tue, Oct 18, 2022 at 02:35:16PM +0200, Peter Zijlstra wrote: > > Different function signatures means they needs to be different > functions; otherwise CFI gets upset. > > Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> > --- > > Notable; this patch depends on eac828eaef29 ("x86/ftrace: Remove > ftrace_epilogue()") which can be cleanly picked on top of -rc1. > > Since kCFI is upstream this should go into some /urgent tree.
Combined (eac828eaef29 + this patch) generate a conflict against tip/x86/core. Resolution looks like:
diff --cc arch/x86/kernel/ftrace_64.S index 2a4be92fd144,6a7e6d666a12..000000000000 --- a/arch/x86/kernel/ftrace_64.S +++ b/arch/x86/kernel/ftrace_64.S @@@ -4,7 -4,7 +4,8 @@@ */ #include <linux/linkage.h> +#include <linux/cfi_types.h> + #include <asm/asm-offsets.h> #include <asm/ptrace.h> #include <asm/ftrace.h> #include <asm/export.h> @@@ -130,14 -130,6 +131,16 @@@ .endm +SYM_TYPED_FUNC_START(ftrace_stub) ++ CALL_DEPTH_ACCOUNT + RET +SYM_FUNC_END(ftrace_stub) + +SYM_TYPED_FUNC_START(ftrace_stub_graph) ++ CALL_DEPTH_ACCOUNT + RET +SYM_FUNC_END(ftrace_stub_graph) + #ifdef CONFIG_DYNAMIC_FTRACE SYM_FUNC_START(__fentry__) @@@ -284,8 -305,13 +311,10 @@@ STACK_FRAME_NON_STANDARD_FP(ftrace_regs #else /* ! CONFIG_DYNAMIC_FTRACE */ SYM_FUNC_START(__fentry__) + CALL_DEPTH_ACCOUNT + cmpq $ftrace_stub, ftrace_trace_function jnz trace - -SYM_INNER_LABEL(ftrace_stub, SYM_L_GLOBAL) - ENDBR RET trace:
| |