> On Jun 25, 2021, at 12:28 PM, Trond Myklebust <trondmy@xxxxxxxxxxxxxxx> wrote: > > On Fri, 2021-06-25 at 11:12 -0400, Chuck Lever wrote: >> The double copy of the string is a mistake, plus __assign_str() >> uses strlen(), which is wrong to do on a string that isn't >> guaranteed to be NUL-terminated. >> >> Fixes: 6019ce0742ca ("NFSD: Add a tracepoint to record directory >> entry encoding") >> Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> >> --- >> fs/nfsd/trace.h | 1 - >> 1 file changed, 1 deletion(-) >> >> diff --git a/fs/nfsd/trace.h b/fs/nfsd/trace.h >> index 27a93ebd1d80..89dccced526a 100644 >> --- a/fs/nfsd/trace.h >> +++ b/fs/nfsd/trace.h >> @@ -408,7 +408,6 @@ TRACE_EVENT(nfsd_dirent, >> __entry->ino = ino; >> __entry->len = namlen; >> memcpy(__get_str(name), name, namlen); >> - __assign_str(name, name); >> ), >> TP_printk("fh_hash=0x%08x ino=%llu name=%.*s", >> __entry->fh_hash, __entry->ino, >> >> > > Why not just store it as a NUL terminated string and save a few bytes > by getting rid of the integer-sized storage of the length? Stephen is adding some helpers to do that in the next merge window. For now, I need to fix this oops, and this is the fastest way to do that. -- Chuck Lever