Messages in this thread | | | Date | Mon, 14 Dec 2009 09:43:37 +0800 | From | Li Zefan <> | Subject | Re: [PATCH 3/4] tracing/filters: Fix MATCH_FRONT_ONLY filter matching |
| |
Frederic Weisbecker wrote: > On Fri, Dec 11, 2009 at 05:59:28PM +0800, Li Zefan wrote: >> MATCH_FRONT_ONLY matching works exactly as MATCH_FULL. >> >> We should pass the length of the pattern to strncmp(). >> >> Signed-off-by: Li Zefan <lizf@cn.fujitsu.com> >> --- >> kernel/trace/trace_events_filter.c | 2 +- >> 1 files changed, 1 insertions(+), 1 deletions(-) >> >> diff --git a/kernel/trace/trace_events_filter.c b/kernel/trace/trace_events_filter.c >> index c8eb1c0..bd492ce 100644 >> --- a/kernel/trace/trace_events_filter.c >> +++ b/kernel/trace/trace_events_filter.c >> @@ -262,7 +262,7 @@ static int regex_match_full(char *str, struct regex *r, int len) >> >> static int regex_match_front(char *str, struct regex *r, int len) >> { >> - if (strncmp(str, r->pattern, len) == 0) >> + if (strncmp(str, r->pattern, r->len) == 0) >> return 1; >> return 0; >> } > > > But it was working before the fix to match full.
No, it was not working for dyn_string and static_string. And as I explained it happened to work for ptr_string by the mixture of 2 bugs.
> The MATCH_FULL fix is nice but it also brings a new bug that > is fixed in this patch. >
| |