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 -- 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/