Re: [RFC PATCH 2/4] x86/ftrace: Fix use of flags in ftrace_replace_code()

From: Steven Rostedt
Date: Mon May 20 2019 - 09:15:49 EST


On Sat, 18 May 2019 00:32:46 +0530
"Naveen N. Rao" <naveen.n.rao@xxxxxxxxxxxxxxxxxx> wrote:

> In commit a0572f687fb3c ("ftrace: Allow ftrace_replace_code() to be
> schedulable), the generic ftrace_replace_code() function was modified to
> accept a flags argument in place of a single 'enable' flag. However, the
> x86 version of this function was not updated. Fix the same.
>
> Fixes: a0572f687fb3c ("ftrace: Allow ftrace_replace_code() to be schedulable")
> Signed-off-by: Naveen N. Rao <naveen.n.rao@xxxxxxxxxxxxxxxxxx>
> ---
> I haven't yet tested this patch on x86, but this looked wrong so sending
> this as a RFC.

This code has been through a bit of updates, and I need to go through
and clean it up. I'll have to take a look and convert "int" to "bool"
so that "enable" is not confusing.

Thanks, I think I'll try to do a clean up first, and then this patch
shouldn't "look wrong" after that.

-- Steve

>
> - Naveen
>
>
> arch/x86/kernel/ftrace.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/arch/x86/kernel/ftrace.c b/arch/x86/kernel/ftrace.c
> index 0caf8122d680..0c01b344ba16 100644
> --- a/arch/x86/kernel/ftrace.c
> +++ b/arch/x86/kernel/ftrace.c
> @@ -554,8 +554,9 @@ static void run_sync(void)
> local_irq_disable();
> }
>
> -void ftrace_replace_code(int enable)
> +void ftrace_replace_code(int mod_flags)
> {
> + int enable = mod_flags & FTRACE_MODIFY_ENABLE_FL;
> struct ftrace_rec_iter *iter;
> struct dyn_ftrace *rec;
> const char *report = "adding breakpoints";