Messages in this thread | | | From | Namhyung Kim <> | Subject | Re: [PATCH ftrace/core v3 3/3] kprobes: Set IPMODIFY flag only if the probe can change regs->ip | Date | Fri, 18 Jul 2014 14:32:07 +0900 |
| |
Hi Masami,
On Tue, 15 Jul 2014 06:00:35 +0000, Masami Hiramatsu wrote: > +static int __ftrace_add_filter_ip(struct ftrace_ops *ops, unsigned long ip, > + int *ref) > +{ > + int ret; > + > + /* Try to set given ip to filter */ > + ret = ftrace_set_filter_ip(ops, ip, 0, 0); > + if (ret < 0) > + return ret; > + > + (*ref)++; > + if (*ref == 1) { > + ret = register_ftrace_function(ops); > + if (ret < 0) { > + /* Rollback refcounter and filter */ > + (*ref)--; > + ftrace_set_filter_ip(ops, ip, 1, 0); > + } > + } > + > + return ret; > +}
This function also can be changed in a similar way:
if (*ref == 0) { ret = register_ftrace_function(ops); if (ret < 0) { /* Rollback filter if failed */ ftrace_set_filter_ip(ops, ip, 1, 0); return ret; } }
(*ref)++;
return 0;
Thanks, Namhyung
| |