On 09/09, Jiri Olsa wrote:
>
> @@ -37,13 +37,16 @@ struct uprobe_consumer {
>        * for the current process. If filter() is omitted or returns true,
>        * UPROBE_HANDLER_REMOVE is effectively ignored.
>        */
> -     int (*handler)(struct uprobe_consumer *self, struct pt_regs *regs);
> +     int (*handler)(struct uprobe_consumer *self, struct pt_regs *regs, 
> __u64 *data);
>       int (*ret_handler)(struct uprobe_consumer *self,
>                               unsigned long func,
> -                             struct pt_regs *regs);
> +                             struct pt_regs *regs, __u64 *data);

And... I won't insist, but I'd suggest to do this in a separate patch
which should also update the current users in bpf_trace.c, trace_uprobe.c
and bpf_testmod.c.

Then it would be easier to review the next "functional" change. But this
is minor, feel free to ignore.


Finally, imo this documentation in handler_chain()

                /*
                 * The handler can return following values:
                 * 0 - execute ret_handler (if it's defined)
                 * 1 - remove uprobe
                 * 2 - do nothing (ignore ret_handler)
                 */

should be moved to uprobes.h and explain UPROBE_HANDLER_REMOVE/IGNORE there.

And note that "remove uprobe" is misleading, it should say something
like "remove the breakpoint from current->mm".

Oleg.


Reply via email to