Re: [PATCH] tracing/kprobes: Do the notrace functions check without kprobes on ftrace

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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)
>  {




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux