Re: [PATCH v4 00/45] x86: Kernel IBT

From: Steven Rostedt
Date: Thu Mar 10 2022 - 09:53:27 EST


On Thu, 10 Mar 2022 14:47:18 +0100
Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:

> diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
> index acb50fb7ed2d..2d86d3c09d64 100644
> --- a/kernel/trace/ftrace.c
> +++ b/kernel/trace/ftrace.c
> @@ -5354,6 +5381,11 @@ int modify_ftrace_direct(unsigned long ip,
> mutex_lock(&direct_mutex);
>
> mutex_lock(&ftrace_lock);
> +
> + ip = ftrace_location(ip);
> + if (!ip)
> + goto out_unlock;
> +

Perhaps this should go into find_direct_entry() instead, as I think you are
adding it before all the find_direct_entry() callers.

And find_direct_entry will update the ip.

-- Steve

> entry = find_direct_entry(&ip, &rec);
> if (!entry)
> goto out_unlock;