Messages in this thread | | | From | Christophe Leroy <> | Subject | Re: [PATCH v1 0/5] Implement livepatch on PPC32 | Date | Sat, 18 Dec 2021 16:12:24 +0000 |
| |
Le 14/12/2021 à 15:01, Steven Rostedt a écrit : > On Tue, 14 Dec 2021 08:35:14 +0100 > Christophe Leroy <christophe.leroy@csgroup.eu> wrote: > >>> Will continue investigating. >>> >> >> trace_selftest_startup_function_graph() calls register_ftrace_direct() >> which returns -ENOSUPP because powerpc doesn't select >> CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS. >> >> Should TEST_DIRECT_TRAMP depend on CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS ? > > Yes, that should be: > > #if defined(CONFIG_DYNAMIC_FTRACE) && \ > defined(CONFIG_HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS) > #define TEST_DIRECT_TRAMP > noinline __noclone static void trace_direct_tramp(void) { } > #endif > > > And make it test it with or without the args. >
Shouldn't it just be:
#ifdef CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS
Because
register_ftrace_direct() depends on that symbol, so if you have CONFIG_DYNAMIC_FTRACE && CONFIG_HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS but not DYNAMIC_FTRACE_WITH_REGS then CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS is unset and register_ftrace_direct() returns -ENOTSUPP
Christophe
| |