Re: [PATCH] tracepoint: Allow livepatch module add trace event

From: Steven Rostedt
Date: Tue Nov 15 2022 - 10:18:04 EST


On Wed, 16 Nov 2022 00:07:07 +0900
Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx> wrote:

> BTW, now the kprobe_ftrace_handler() uses ftrace_test_recursion_trylock()
> to avoid ftrace recursion, is that OK for this case?

Note, the ftrace_test_recursion_trylock() only prevents "same context"
recursion. That is, it will not let normal context recurse into normal
context, or interrupt context recurse into interrupt context.

It has the logic of breaking up into 4 levels:

1. normal
2. softirq
3. irq
4. NMI

It allows the high levels to recurse into lower levels
(e.g. irq context into normal context)

Thus, the code within the ftrace_test_recursion_trylock() must itself be
re-entrant to handle being called from different contexts.

-- Steve