Re: [PATCH 3/4] tracing/filters: Fix MATCH_FRONT_ONLY filter matching

From: Li Zefan
Date: Sun Dec 13 2009 - 20:44:05 EST


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@xxxxxxxxxxxxxx>
>> ---
>> 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.
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/