Messages in this thread | | | Date | Fri, 26 Mar 2021 12:30:24 +0100 | From | Greg KH <> | Subject | Re: [PATCH 6/9] debugfs: Implement debugfs_create_str() |
| |
On Fri, Mar 26, 2021 at 12:18:47PM +0100, Peter Zijlstra wrote: > On Fri, Mar 26, 2021 at 12:05:07PM +0100, Greg KH wrote: > > On Fri, Mar 26, 2021 at 11:33:58AM +0100, Peter Zijlstra wrote: > > > > > > Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> > > > > No changelog text? :( > > Yeah, didn't really know what to say that the Subject didn't already do. > > > > +/** > > > + * debugfs_create_str - create a debugfs file that is used to read and write a string value > > > + * @name: a pointer to a string containing the name of the file to create. > > > + * @mode: the permission that the file should have > > > + * @parent: a pointer to the parent dentry for this file. This should be a > > > + * directory dentry if set. If this parameter is %NULL, then the > > > + * file will be created in the root of the debugfs filesystem. > > > + * @value: a pointer to the variable that the file should read to and write > > > + * from. > > > + * > > > + * This function creates a file in debugfs with the given name that > > > + * contains the value of the variable @value. If the @mode variable is so > > > + * set, it can be read from, and written to. > > > + * > > > + * This function will return a pointer to a dentry if it succeeds. This > > > + * pointer must be passed to the debugfs_remove() function when the file is > > > + * to be removed (no automatic cleanup happens if your module is unloaded, > > > + * you are responsible here.) If an error occurs, ERR_PTR(-ERROR) will be > > > + * returned. > > > + * > > > + * NOTE: when writing is enabled it will replace the string, string lifetime is > > > + * assumed to be RCU managed. > > > + * > > > + * If debugfs is not enabled in the kernel, the value ERR_PTR(-ENODEV) will > > > + * be returned. > > > + */ > > > +struct dentry *debugfs_create_str(const char *name, umode_t mode, > > > + struct dentry *parent, char **value) > > > > Please have this return void, no need for me to have to clean up > > afterward later on :) > > That would make it inconsistent with debugfs_create_{bool,blob}() from > which I copiously 'borrowed'.
As mentioned on IRC, I am trying to get rid of the return value, those are the only 2 holdouts given their current use in some of the cruftier areas of the kernel at the moment :(
> Also, the return dentry might be useful with debugfs_create_symlink(), > but you're right in that most other create_file wrappers return void.
Great, change that and limit the size of the string that can be written and it looks good to me, thanks for adding this.
greg k-h
| |