# Re: \[PATCH v3 02/16\] tracing/filters: Fix MATCH\_END\_ONLY regex matching for fixed-size strings

- From: Masami Hiramatsu (Google) \<mhiramat@kernel.org\>
- Date: 2026-10-28 01:14:06 
- List: linux-trace-kernel
- Page: https://ratatoskr.run/linux-trace-kernel/2026/10/17814106
- Thread: https://ratatoskr.run/linux-trace-kernel/2026/10/17814009/t.md

```text
On Wed, 28 Oct 2026 09:43:43 +0900, Masami Hiramatsu (Google) [ref] wrote:

> diff --git a/kernel/trace/trace_events_filter.c b/kernel/trace/trace_events_filter.c
> --- a/kernel/trace/trace_events_filter.c
> +++ b/kernel/trace/trace_events_filter.c
> @@ -1087,6 +1087,20 @@ static int regex_match_end(char *str, struct regex *r, int len)
> +{
> +	int slen;
> +
> +	if (len < r->len)

BTW, this is required for skipping strnlen().

> +		return 0;
> +
> +	slen = strnlen(str, len);
> +	if (slen >= r->len &&

And this also checks actual length.

> +	    memcmp(str + slen - r->len, r->pattern, r->len) == 0)
> +		return 1;
> +	return 0;

Thanks,

-- 
Masami Hiramatsu (Google) [ref]
```
