On Thu, 14 Jan 2021 10:36:27 +0800 ChunyouTang <tangchunyou@xxxxxxx> wrote: > From: Masami Hiramatsu <mhiramat@xxxxxxxxxx> > > Enable the notrace function check on the architecture which doesn't > support kprobes on ftrace but support dynamic ftrace. This notrace > function check is not only for the kprobes on ftrace but also > sw-breakpoint based kprobes. > Thus there is no reason to limit this check for the arch which > supports kprobes on ftrace. > > This also changes the dependency of Kconfig. Because kprobe event > uses the function tracer's address list for identifying notrace > function, if the CONFIG_DYNAMIC_FTRACE=n, it can not check whether > the target function is notrace or not. > Please be careful to how you send internal patches, and not automatically Cc everyone in the Cc list of the patch. -- Steve > Link: https://lkml.kernel.org/r/20210105065730.2634785-1-naveen.n.rao@xxxxxxxxxxxxxxxxxx > Link: https://lkml.kernel.org/r/161007957862.114704.4512260007555399463.stgit@devnote2 > > Cc: stable@xxxxxxxxxxxxxxx > Fixes: 45408c4f92506 ("tracing: kprobes: Prohibit probing on notrace function") > Acked-by: Naveen N. Rao <naveen.n.rao@xxxxxxxxxxxxxxxxxx> > Signed-off-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx> > Signed-off-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx> > --- > kernel/trace/Kconfig | 2 +- > kernel/trace/trace_kprobe.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig > index d5a19413d4f8..c1a62ae7e812 100644 > --- a/kernel/trace/Kconfig > +++ b/kernel/trace/Kconfig > @@ -538,7 +538,7 @@ config KPROBE_EVENTS > config KPROBE_EVENTS_ON_NOTRACE > bool "Do NOT protect notrace function from kprobe events" > depends on KPROBE_EVENTS > - depends on KPROBES_ON_FTRACE > + depends on DYNAMIC_FTRACE > default n > help > This is only for the developers who want to debug ftrace itself > diff --git a/kernel/trace/trace_kprobe.c b/kernel/trace/trace_kprobe.c > index 9c31f42245e9..e6fba1798771 100644 > --- a/kernel/trace/trace_kprobe.c > +++ b/kernel/trace/trace_kprobe.c > @@ -434,7 +434,7 @@ static int disable_trace_kprobe(struct trace_event_call *call, > return 0; > } > > -#if defined(CONFIG_KPROBES_ON_FTRACE) && \ > +#if defined(CONFIG_DYNAMIC_FTRACE) && \ > !defined(CONFIG_KPROBE_EVENTS_ON_NOTRACE) > static bool __within_notrace_func(unsigned long addr) > {