Re: [PATCH 1/4] ftrace: Fix MATCH_END_ONLY filter matching

From: Li Zefan
Date: Sun Dec 13 2009 - 20:04:38 EST


>>>>> For '*foo' pattern, we should allow any string ending with
>>>>> 'foo', but ftrace filter incorrectly disallows strings
>>>>> like bar_foo_foo:
>>>> [...]
>>>>> case MATCH_END_ONLY:
>>>>> - ptr = strstr(str, regex);
>>>>> - if (ptr && (ptr[len] == 0))
>>>>> + slen = strlen(str);
>>>>> + if (slen >= len && memcpy(str + slen - len, regex, len))
>>>>> matched = 1;
>>>> Shouldn't that be memcmp() == 0? I don't see how memcpy might serve as
>>>> a compare operator.
>>>>
>>>> Fred.
>>>
>>> Oh you're right, I reviewed it too quickly. Perhaps the star's
>>> alignment made it possible for only one Frederic to review it
>>> the right way...
>>>
>> The stars are still fuzzy to me. How does memcpy work here?
>
>
> It doesn't, I guess Li intended to use memcmp.
>

Oops, I forgot to fix this before sending the patch out.. :(

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