* [PATCH v2] trace-cmd record: Fix syntax in make_pid_filter [not found] <CADx9qWjVny-+Sct2-pmHmZ73ohCu_6ay67-GBYP5w_gjvG0TDQ () mail ! gmail ! com> @ 2017-10-13 18:40 ` Will Hawkins 2017-10-23 20:41 ` Will Hawkins 0 siblings, 1 reply; 3+ messages in thread From: Will Hawkins @ 2017-10-13 18:40 UTC (permalink / raw) To: linux-kernel, hawkinsw, rostedt; +Cc: Will Hawkins In older versions of the kernel, event filtering by pid does not use the set_event_pid file. Instead, ftrace uses a common filter (created in make_pid_filter) to filter events based on PID. The syntax of the filter generated by this function is overly permissive. When filtering by pid, || is used where && should be (in certain cases) which means that unrelated events are captured. Signed-off-by: Will Hawkins <hawkinsw@borlaugic.com> --- trace-record.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/trace-record.c b/trace-record.c index a0b6541..741fe53 100644 --- a/trace-record.c +++ b/trace-record.c @@ -935,14 +935,16 @@ static char *make_pid_filter(char *curr_filter, const char *field) str = filter + curr_len; for (p = filter_pids; p; p = p->next) { - if (p == filter_pids) - orit = ""; - else - orit = "||"; - if (p->exclude) + if (p->exclude) { match = "!="; - else + orit = "&&"; + } else { match = "=="; + orit = "||"; + } + if (p == filter_pids) + orit = ""; + len = sprintf(str, "%s(%s%s%d)", orit, field, match, p->pid); str += len; } -- 2.7.4 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v2] trace-cmd record: Fix syntax in make_pid_filter 2017-10-13 18:40 ` [PATCH v2] trace-cmd record: Fix syntax in make_pid_filter Will Hawkins @ 2017-10-23 20:41 ` Will Hawkins 2017-10-31 16:17 ` Steven Rostedt 0 siblings, 1 reply; 3+ messages in thread From: Will Hawkins @ 2017-10-23 20:41 UTC (permalink / raw) To: linux-kernel, Will Hawkins, Steven Rostedt; +Cc: Will Hawkins Mr. Rostedt, Just wanted to make sure there was nothing else you thought I should modify for this patch. If there is, please let me know. I am eager to fix anything that you think could make it better! I hope that you had a great weekend! Will On Fri, Oct 13, 2017 at 2:40 PM, Will Hawkins <hawkinsw@borlaugic.com> wrote: > In older versions of the kernel, event filtering by > pid does not use the set_event_pid file. Instead, > ftrace uses a common filter (created in make_pid_filter) > to filter events based on PID. > > The syntax of the filter generated by this function is > overly permissive. When filtering by pid, || is used > where && should be (in certain cases) which means that > unrelated events are captured. > > Signed-off-by: Will Hawkins <hawkinsw@borlaugic.com> > --- > trace-record.c | 14 ++++++++------ > 1 file changed, 8 insertions(+), 6 deletions(-) > > diff --git a/trace-record.c b/trace-record.c > index a0b6541..741fe53 100644 > --- a/trace-record.c > +++ b/trace-record.c > @@ -935,14 +935,16 @@ static char *make_pid_filter(char *curr_filter, const char *field) > str = filter + curr_len; > > for (p = filter_pids; p; p = p->next) { > - if (p == filter_pids) > - orit = ""; > - else > - orit = "||"; > - if (p->exclude) > + if (p->exclude) { > match = "!="; > - else > + orit = "&&"; > + } else { > match = "=="; > + orit = "||"; > + } > + if (p == filter_pids) > + orit = ""; > + > len = sprintf(str, "%s(%s%s%d)", orit, field, match, p->pid); > str += len; > } > -- > 2.7.4 > ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v2] trace-cmd record: Fix syntax in make_pid_filter 2017-10-23 20:41 ` Will Hawkins @ 2017-10-31 16:17 ` Steven Rostedt 0 siblings, 0 replies; 3+ messages in thread From: Steven Rostedt @ 2017-10-31 16:17 UTC (permalink / raw) To: Will Hawkins; +Cc: linux-kernel, Will Hawkins On Mon, 23 Oct 2017 16:41:22 -0400 Will Hawkins <hawkinsw@borlaugic.com> wrote: > Mr. Rostedt, > > Just wanted to make sure there was nothing else you thought I should > modify for this patch. If there is, please let me know. I am eager to > fix anything that you think could make it better! > I already applied this (not sure I pushed it out yet). But forgot to tell you that I have. Thanks! -- Steve ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-10-31 16:17 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <CADx9qWjVny-+Sct2-pmHmZ73ohCu_6ay67-GBYP5w_gjvG0TDQ () mail ! gmail ! com> 2017-10-13 18:40 ` [PATCH v2] trace-cmd record: Fix syntax in make_pid_filter Will Hawkins 2017-10-23 20:41 ` Will Hawkins 2017-10-31 16:17 ` Steven Rostedt
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).