Re: [PATCH 1/2] ftrace: disable preemption on the testing of recursion

From: Steven Rostedt
Date: Tue Oct 12 2021 - 08:17:37 EST


On Tue, 12 Oct 2021 13:40:08 +0800
王贇 <yun.wang@xxxxxxxxxxxxxxxxx> wrote:

> @@ -52,11 +52,6 @@ static void notrace klp_ftrace_handler(unsigned long ip,
> bit = ftrace_test_recursion_trylock(ip, parent_ip);
> if (WARN_ON_ONCE(bit < 0))
> return;
> - /*
> - * A variant of synchronize_rcu() is used to allow patching functions
> - * where RCU is not watching, see klp_synchronize_transition().
> - */

I have to take a deeper look at this patch set, but do not remove this
comment, as it explains the protection here, that is not obvious with the
changes you made.

-- Steve


> - preempt_disable_notrace();
>
> func = list_first_or_null_rcu(&ops->func_stack, struct klp_func,
> stack_node);