Re: [PATCH 2/3] trace/kprobes: allow return probes with offsets and absolute addresses

From: Masami Hiramatsu
Date: Wed Feb 15 2017 - 18:44:38 EST


On Wed, 15 Feb 2017 23:47:53 +0530
"Naveen N. Rao" <naveen.n.rao@xxxxxxxxxxxxxxxxxx> wrote:

> Since the kernel includes many non-global functions with same names, we
> will need to use offsets from other symbols (typically _text/_stext) or
> absolute addresses to place return probes on specific functions. Also,
> the core register_kretprobe() API never forbid use of offsets or
> absolute addresses with kretprobes.
>
> Allow its use with the trace infrastructure.
>

OK, Looks good to me.

Acked-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx>

Thanks!


> Signed-off-by: Naveen N. Rao <naveen.n.rao@xxxxxxxxxxxxxxxxxx>
> ---
> kernel/trace/trace_kprobe.c | 8 --------
> 1 file changed, 8 deletions(-)
>
> diff --git a/kernel/trace/trace_kprobe.c b/kernel/trace/trace_kprobe.c
> index 7ad9e53ad174..2768cb60ebd7 100644
> --- a/kernel/trace/trace_kprobe.c
> +++ b/kernel/trace/trace_kprobe.c
> @@ -679,10 +679,6 @@ static int create_trace_kprobe(int argc, char **argv)
> return -EINVAL;
> }
> if (isdigit(argv[1][0])) {
> - if (is_return) {
> - pr_info("Return probe point must be a symbol.\n");
> - return -EINVAL;
> - }
> /* an address specified */
> ret = kstrtoul(&argv[1][0], 0, (unsigned long *)&addr);
> if (ret) {
> @@ -698,10 +694,6 @@ static int create_trace_kprobe(int argc, char **argv)
> pr_info("Failed to parse symbol.\n");
> return ret;
> }
> - if (offset && is_return) {
> - pr_info("Return probe must be used without offset.\n");
> - return -EINVAL;
> - }
> }
> argc -= 2; argv += 2;
>
> --
> 2.11.0
>


--
Masami Hiramatsu <mhiramat@xxxxxxxxxx>