On Fri, Mar 26, 2021 at 01:53:59PM +0100, Rasmus Villemoes wrote: > On 26/03/2021 12.38, Peter Zijlstra wrote: > > > Implement debugfs_create_str() to easily display names and such in > > debugfs. > > Patches 7-9 don't seem to add any users of this. What's it for precisely?
It's used in patch 7, look close :) > > > + > > +again: > > + rcu_read_lock(); > > + str = rcu_dereference(*(char **)file->private_data); > > + len = strlen(str) + 1; > > + > > + if (!copy || copy_len < len) { > > + rcu_read_unlock(); > > + kfree(copy); > > + copy = kmalloc(len + 1, GFP_KERNEL); > > + if (!copy) { > > + debugfs_file_put(dentry); > > + return -ENOMEM; > > + } > > + copy_len = len; > > + goto again; > > + } > > + > > + strncpy(copy, str, len); > > + copy[len] = '\n'; > > + copy[len+1] = '\0'; > > + rcu_read_unlock(); > > As noted (accidentally off-list), this is broken. I think you want this > on top > > - len = strlen(str) + 1; > + len = strlen(str); > > - strncpy(copy, str, len); > + memcpy(copy, str, len); > copy[len] = '\n'; > - copy[len+1] = '\0'; > > > +EXPORT_SYMBOL_GPL(debugfs_read_file_str); > > Why? Because there is a user of it? Yes, it's not in a module, but to make it easy, might as well export it now. thanks, greg k-h