Messages in this thread | | | Date | Mon, 10 Jul 2023 18:43:53 -0400 | From | Steven Rostedt <> | Subject | Re: [PATCH v1 1/1] f2fs: Use return value of strreplace() |
| |
On Wed, 28 Jun 2023 18:02:43 +0300 Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:
> Since strreplace() returns the pointer to the string itself, > we may use it directly in the code. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > --- > include/trace/events/f2fs.h | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/include/trace/events/f2fs.h b/include/trace/events/f2fs.h > index 793f82cc1515..f5994515290c 100644 > --- a/include/trace/events/f2fs.h > +++ b/include/trace/events/f2fs.h > @@ -2234,13 +2234,11 @@ DECLARE_EVENT_CLASS(f2fs__rw_start, > * because this screws up the tooling that parses > * the traces. > */ > - __assign_str(pathbuf, pathname); > - (void)strreplace(__get_str(pathbuf), ' ', '_'); > + __assign_str(pathbuf, strreplace(pathname, ' ', '_'));
But this modifies the pathname that is passed into the trace event, which is something that a trace point should never do! In fact, the char *pathname, really should be a const char * (for which this would fail to build).
Note, I went to look for these events and I can not find where they are used. Should these events just be deleted?
-- Steve
> __entry->offset = offset; > __entry->bytes = bytes; > __entry->i_size = i_size_read(inode); > - __assign_str(cmdline, command); > - (void)strreplace(__get_str(cmdline), ' ', '_'); > + __assign_str(cmdline, strreplace(command, ' ', '_')); > __entry->pid = pid; > __entry->ino = inode->i_ino; > ),
| |