Re: [PATCH v2 3/7] ftrace: Expose __ftrace_replace_code()
From: Steven Rostedt
Date: Thu Jun 27 2019 - 10:36:41 EST
On Thu, 27 Jun 2019 16:53:51 +0530
"Naveen N. Rao" <naveen.n.rao@xxxxxxxxxxxxxxxxxx> wrote:
> While over-riding ftrace_replace_code(), we still want to reuse the
> existing __ftrace_replace_code() function. Rename the function and
> make it available for other kernel code.
>
> Signed-off-by: Naveen N. Rao <naveen.n.rao@xxxxxxxxxxxxxxxxxx>
> ---
> include/linux/ftrace.h | 1 +
> kernel/trace/ftrace.c | 8 ++++----
> 2 files changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h
> index e97789c95c4e..fa653a561da5 100644
> --- a/include/linux/ftrace.h
> +++ b/include/linux/ftrace.h
> @@ -456,6 +456,7 @@ ftrace_set_early_filter(struct ftrace_ops *ops, char *buf, int enable);
> /* defined in arch */
> extern int ftrace_ip_converted(unsigned long ip);
> extern int ftrace_dyn_arch_init(void);
> +extern int ftrace_replace_code_rec(struct dyn_ftrace *rec, int enable);
> extern void ftrace_replace_code(int enable);
> extern int ftrace_update_ftrace_func(ftrace_func_t func);
> extern void ftrace_caller(void);
> diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
> index 5710a6b3edc1..21d8e201ee80 100644
> --- a/kernel/trace/ftrace.c
> +++ b/kernel/trace/ftrace.c
> @@ -2351,8 +2351,8 @@ unsigned long ftrace_get_addr_curr(struct dyn_ftrace *rec)
> return (unsigned long)FTRACE_ADDR;
> }
>
> -static int
> -__ftrace_replace_code(struct dyn_ftrace *rec, int enable)
> +int
> +ftrace_replace_code_rec(struct dyn_ftrace *rec, int enable)
Make this a single line, as it removes static and "__" which should
keep it normal.
Other than that,
Reviewed-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx>
-- Steve
> {
> unsigned long ftrace_old_addr;
> unsigned long ftrace_addr;
> @@ -2403,7 +2403,7 @@ void __weak ftrace_replace_code(int mod_flags)
> if (rec->flags & FTRACE_FL_DISABLED)
> continue;
>
> - failed = __ftrace_replace_code(rec, enable);
> + failed = ftrace_replace_code_rec(rec, enable);
> if (failed) {
> ftrace_bug(failed, rec);
> /* Stop processing */
> @@ -5827,7 +5827,7 @@ void ftrace_module_enable(struct module *mod)
> rec->flags = cnt;
>
> if (ftrace_start_up && cnt) {
> - int failed = __ftrace_replace_code(rec, 1);
> + int failed = ftrace_replace_code_rec(rec, 1);
> if (failed) {
> ftrace_bug(failed, rec);
> goto out_loop;