[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190612165819.GA123863@google.com>
Date: Wed, 12 Jun 2019 12:58:19 -0400
From: Joel Fernandes <joel@...lfernandes.org>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc: Qian Cai <cai@....us>, Thomas Gleixner <tglx@...utronix.de>,
Andrew Morton <akpm@...ux-foundation.org>,
Waiman Long <longman@...hat.com>,
Zhong Jiang <zhongjiang@...wei.com>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] lib: debugobjects: no need to check return value of
debugfs_create functions
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@....us>
> Cc: Thomas Gleixner <tglx@...utronix.de>
> Cc: Andrew Morton <akpm@...ux-foundation.org>
> Cc: Waiman Long <longman@...hat.com>
> Cc: "Joel Fernandes (Google)" <joel@...lfernandes.org>
> Cc: Zhong Jiang <zhongjiang@...wei.com>
> Cc: linux-kernel@...r.kernel.org
> Signed-off-by: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
> ---
> 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.
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;
But I guess that's not a major issue since its debugfs :-) So LGTM,
Reviewed-by: Joel Fernandes (Google) <joel@...lfernandes.org>
thanks,
- Joel
>
> return 0;
> -
> -err:
> - debugfs_remove(dbgdir);
> -
> - return -ENOMEM;
> }
> __initcall(debug_objects_init_debugfs);
>
> --
> 2.22.0
>
Powered by blists - more mailing lists