On Wed, 19 Dec 2018 12:22:38 -0800 Joe Perches <j...@perches.com> wrote:
> On Wed, 2018-12-19 at 14:16 -0600, Tom Zanussi wrote: > > > > How's this? > > > > [PATCH] tracing: Introduce and use strcmp_const() for hist triggers > > > > Provide a new strcmp_const() macro and make use of it instead of the > > longer and more error-prone strncmp(str, "str", sizeof("str") - 1). > [] > > diff --git a/kernel/trace/trace_events_hist.c > > b/kernel/trace/trace_events_hist.c > [] > > @@ -22,6 +22,9 @@ > > > > #define STR_VAR_LEN_MAX 32 /* must be multiple of sizeof(u64) */ > > > > +#define strcmp_const(str, str_const) \ > > + strncmp(str, str_const, sizeof(str_const) - 1) > > Not good as it's too easy to pass a pointer as str_const > and sizeof(pointer) - 1 isn't likely the string length. Agreed. And I noticed that this is used all over the kernel, so I'm not going to add this patch. I'm going to add a: #define strncmp_prefix(str, prefix) \ strncmp(str, prefix, strlen(prefix)) in include/linux/string.h And go around and use that throughout the kernel. By doing a quick grep, I already spotted a few bugs. -- Steve