Message ID | 20250403210637.1c477d4a@gandalf.local.home (mailing list archive) |
---|---|
State | Under Review |
Headers | show |
Series | tracing: Always use memcpy() in histogram add_to_key() | expand |
On Thu, 3 Apr 2025 21:06:37 -0400 Steven Rostedt <rostedt@goodmis.org> wrote: > From: Steven Rostedt <rostedt@goodmis.org> > > The add_to_key() function tests if the key is a string or some data. If > it's a string it does some further calculations of the string size (still > truncating it to the max size it can be), and calls strncpy(). > > If the key isn't as string it calls memcpy(). The interesting point is > that both use the exact same parameters: > > strncpy(compound_key + key_field->offset, (char *)key, size); > } else > memcpy(compound_key + key_field->offset, key, size); > > As strncpy() is being used simply as a memcpy() for a string, and since > strncpy() is deprecated, just call memcpy() for both memory and string > keys. > Looks good to me. Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org> Thank you, > Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org> > --- > kernel/trace/trace_events_hist.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/kernel/trace/trace_events_hist.c b/kernel/trace/trace_events_hist.c > index c1ea6aaac182..4258324219ca 100644 > --- a/kernel/trace/trace_events_hist.c > +++ b/kernel/trace/trace_events_hist.c > @@ -5224,10 +5224,8 @@ static inline void add_to_key(char *compound_key, void *key, > /* ensure NULL-termination */ > if (size > key_field->size - 1) > size = key_field->size - 1; > - > - strncpy(compound_key + key_field->offset, (char *)key, size); > - } else > - memcpy(compound_key + key_field->offset, key, size); > + } > + memcpy(compound_key + key_field->offset, key, size); > } > > static void > -- > 2.47.2 >
Hi Steve, On Thu, 2025-04-03 at 21:06 -0400, Steven Rostedt wrote: > From: Steven Rostedt <rostedt@goodmis.org> > > The add_to_key() function tests if the key is a string or some data. If > it's a string it does some further calculations of the string size (still > truncating it to the max size it can be), and calls strncpy(). > > If the key isn't as string it calls memcpy(). The interesting point is > that both use the exact same parameters: > > strncpy(compound_key + key_field->offset, (char *)key, size); > } else > memcpy(compound_key + key_field->offset, key, size); > > As strncpy() is being used simply as a memcpy() for a string, and since > strncpy() is deprecated, just call memcpy() for both memory and string > keys. > > Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org> Looks good, thanks. Reviewed-by: Tom Zanussi <zanussi@kernel.org> > --- > kernel/trace/trace_events_hist.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/kernel/trace/trace_events_hist.c b/kernel/trace/trace_events_hist.c > index c1ea6aaac182..4258324219ca 100644 > --- a/kernel/trace/trace_events_hist.c > +++ b/kernel/trace/trace_events_hist.c > @@ -5224,10 +5224,8 @@ static inline void add_to_key(char *compound_key, void *key, > /* ensure NULL-termination */ > if (size > key_field->size - 1) > size = key_field->size - 1; > - > - strncpy(compound_key + key_field->offset, (char *)key, size); > - } else > - memcpy(compound_key + key_field->offset, key, size); > + } > + memcpy(compound_key + key_field->offset, key, size); > } > > static void
diff --git a/kernel/trace/trace_events_hist.c b/kernel/trace/trace_events_hist.c index c1ea6aaac182..4258324219ca 100644 --- a/kernel/trace/trace_events_hist.c +++ b/kernel/trace/trace_events_hist.c @@ -5224,10 +5224,8 @@ static inline void add_to_key(char *compound_key, void *key, /* ensure NULL-termination */ if (size > key_field->size - 1) size = key_field->size - 1; - - strncpy(compound_key + key_field->offset, (char *)key, size); - } else - memcpy(compound_key + key_field->offset, key, size); + } + memcpy(compound_key + key_field->offset, key, size); } static void