* Oleg Nesterov <o...@redhat.com> [2013-04-01 18:09:00]:

> Finally change create_trace_uprobe() to check if argv[0][0] == 'r'
> and pass the correct "is_ret" to alloc_trace_uprobe().
> 
> Signed-off-by: Oleg Nesterov <o...@redhat.com>

Acked-by: Srikar Dronamraju <sri...@linux.vnet.ibm.com>

> ---
>  kernel/trace/trace_uprobe.c |   11 +++++++----
>  1 files changed, 7 insertions(+), 4 deletions(-)
> 
> diff --git a/kernel/trace/trace_uprobe.c b/kernel/trace/trace_uprobe.c
> index 1b3622a..2773d2a 100644
> --- a/kernel/trace/trace_uprobe.c
> +++ b/kernel/trace/trace_uprobe.c
> @@ -200,7 +200,7 @@ end:
> 
>  /*
>   * Argument syntax:
> - *  - Add uprobe: p[:[GRP/]EVENT] PATH:SYMBOL[+offs] [FETCHARGS]
> + *  - Add uprobe: p|r[:[GRP/]EVENT] PATH:SYMBOL [FETCHARGS]
>   *
>   *  - Remove uprobe: -:[GRP/]EVENT
>   */
> @@ -212,20 +212,23 @@ static int create_trace_uprobe(int argc, char **argv)
>       char buf[MAX_EVENT_NAME_LEN];
>       struct path path;
>       unsigned long offset;
> -     bool is_delete;
> +     bool is_delete, is_return;
>       int i, ret;
> 
>       inode = NULL;
>       ret = 0;
>       is_delete = false;
> +     is_return = false;
>       event = NULL;
>       group = NULL;
> 
>       /* argc must be >= 1 */
>       if (argv[0][0] == '-')
>               is_delete = true;
> +     else if (argv[0][0] == 'r')
> +             is_return = true;
>       else if (argv[0][0] != 'p') {
> -             pr_info("Probe definition must be started with 'p' or '-'.\n");
> +             pr_info("Probe definition must be started with 'p', 'r' or 
> '-'.\n");
>               return -EINVAL;
>       }
> 
> @@ -323,7 +326,7 @@ static int create_trace_uprobe(int argc, char **argv)
>               kfree(tail);
>       }
> 
> -     tu = alloc_trace_uprobe(group, event, argc, false);
> +     tu = alloc_trace_uprobe(group, event, argc, is_return);
>       if (IS_ERR(tu)) {
>               pr_info("Failed to allocate trace_uprobe.(%d)\n", 
> (int)PTR_ERR(tu));
>               ret = PTR_ERR(tu);
> -- 
> 1.5.5.1
> 

-- 
Thanks and Regards
Srikar Dronamraju

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to