Re: [PATCH] lib: debugobjects: no need to check return value of debugfs_create functions
From: Greg Kroah-Hartman
Date: Wed Jun 12 2019 - 13:15:09 EST
On Wed, Jun 12, 2019 at 12:58:19PM -0400, Joel Fernandes wrote:
> On Wed, Jun 12, 2019 at 05:35:13PM +0200, Greg Kroah-Hartman wrote:
> > When calling debugfs functions, there is no need to ever check the
> > return value. The function can work or not, but the code logic should
> > never do something different based on this.
> >
> > Cc: Qian Cai <cai@xxxxxx>
> > Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> > Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> > Cc: Waiman Long <longman@xxxxxxxxxx>
> > Cc: "Joel Fernandes (Google)" <joel@xxxxxxxxxxxxxxxxx>
> > Cc: Zhong Jiang <zhongjiang@xxxxxxxxxx>
> > Cc: linux-kernel@xxxxxxxxxxxxxxx
> > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> > ---
> > lib/debugobjects.c | 14 ++------------
> > 1 file changed, 2 insertions(+), 12 deletions(-)
> >
> > diff --git a/lib/debugobjects.c b/lib/debugobjects.c
> > index 55437fd5128b..2ac42286cd08 100644
> > --- a/lib/debugobjects.c
> > +++ b/lib/debugobjects.c
> > @@ -850,26 +850,16 @@ static const struct file_operations debug_stats_fops = {
> >
> > static int __init debug_objects_init_debugfs(void)
> > {
> > - struct dentry *dbgdir, *dbgstats;
> > + struct dentry *dbgdir;
> >
> > if (!debug_objects_enabled)
> > return 0;
> >
> > dbgdir = debugfs_create_dir("debug_objects", NULL);
> > - if (!dbgdir)
> > - return -ENOMEM;
> >
> > - dbgstats = debugfs_create_file("stats", 0444, dbgdir, NULL,
> > - &debug_stats_fops);
> > - if (!dbgstats)
> > - goto err;
> > + debugfs_create_file("stats", 0444, dbgdir, NULL, &debug_stats_fops);
>
>
> One weirdness is, if dbgdir is ever NULL, then debugfs_create_file() may end
> up creating the stats file in the root.
Yes, but dbgdir can not be NULL.
> In debugfs_create_file():
> /* If the parent is not specified, we create it in the root.
> * We need the root dentry to do this, which is in the super
> * block. A pointer to that is in the struct vfsmount that we
> * have around.
> */
> if (!parent)
> parent = debugfs_mount->mnt_root;
Yes, but debugfs_create_dir() will never return NULL.
> But I guess that's not a major issue since its debugfs :-) So LGTM,
Yup!
> Reviewed-by: Joel Fernandes (Google) <joel@xxxxxxxxxxxxxxxxx>
thanks for the review.
greg k-h