2019-01-22 15:26:41

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH] gcov: no need to check return value of debugfs_create functions

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.

Also delete the dentry variable as it is never needed.

Cc: Peter Oberparleiter <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
kernel/gcov/fs.c | 22 ++--------------------
1 file changed, 2 insertions(+), 20 deletions(-)

diff --git a/kernel/gcov/fs.c b/kernel/gcov/fs.c
index 6e40ff6be083..aa9a49f72024 100644
--- a/kernel/gcov/fs.c
+++ b/kernel/gcov/fs.c
@@ -64,7 +64,6 @@ struct gcov_node {
static const char objtree[] = OBJTREE;
static const char srctree[] = SRCTREE;
static struct gcov_node root_node;
-static struct dentry *reset_dentry;
static LIST_HEAD(all_head);
static DEFINE_MUTEX(node_lock);

@@ -387,8 +386,6 @@ static void add_links(struct gcov_node *node, struct dentry *parent)
goto out_err;
node->links[i] = debugfs_create_symlink(deskew(basename),
parent, target);
- if (!node->links[i])
- goto out_err;
kfree(target);
}

@@ -450,11 +447,6 @@ static struct gcov_node *new_node(struct gcov_node *parent,
parent->dentry, node, &gcov_data_fops);
} else
node->dentry = debugfs_create_dir(node->name, parent->dentry);
- if (!node->dentry) {
- pr_warn("could not create file\n");
- kfree(node);
- return NULL;
- }
if (info)
add_links(node, parent->dentry);
list_add(&node->list, &parent->children);
@@ -769,24 +761,14 @@ static __init int gcov_fs_init(void)
* and all profiling files.
*/
root_node.dentry = debugfs_create_dir("gcov", NULL);
- if (!root_node.dentry)
- goto err_remove;
/*
* Create reset file which resets all profiling counts when written
* to.
*/
- reset_dentry = debugfs_create_file("reset", 0600, root_node.dentry,
- NULL, &gcov_reset_fops);
- if (!reset_dentry)
- goto err_remove;
+ debugfs_create_file("reset", 0600, root_node.dentry, NULL,
+ &gcov_reset_fops);
/* Replay previous events to get our fs hierarchy up-to-date. */
gcov_enable_events();
return 0;
-
-err_remove:
- pr_err("init failed\n");
- debugfs_remove(root_node.dentry);
-
- return rc;
}
device_initcall(gcov_fs_init);
--
2.20.1



2019-01-23 13:24:44

by Peter Oberparleiter

[permalink] [raw]
Subject: Re: [PATCH] gcov: no need to check return value of debugfs_create functions

On 22.01.2019 16:21, 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.
>
> Also delete the dentry variable as it is never needed.
>
> Cc: Peter Oberparleiter <[email protected]>
> Signed-off-by: Greg Kroah-Hartman <[email protected]>
> ---
> kernel/gcov/fs.c | 22 ++--------------------
> 1 file changed, 2 insertions(+), 20 deletions(-)

Acked-by: Peter Oberparleiter <[email protected]>

Compile test was successful, but the patch introduces a compile warning.
Could you merge the attached patch?

8<===
From: Peter Oberparleiter <[email protected]>
Subject: [PATCH] gcov: Fix compiler warning

Fix compiler warning when compiling with CONFIG_GCOV_KERNEL=y:

CC kernel/gcov/fs.o
kernel/gcov/fs.c: In function ‘gcov_fs_init’:
kernel/gcov/fs.c:756:6: warning: unused variable ‘rc’ [-Wunused-variable]
int rc = -EIO;
^~

Signed-off-by: Peter Oberparleiter <[email protected]>
---
kernel/gcov/fs.c | 2 --
1 file changed, 2 deletions(-)

diff --git a/kernel/gcov/fs.c b/kernel/gcov/fs.c
index aa9a49f72024..e5eb5ea7ea59 100644
--- a/kernel/gcov/fs.c
+++ b/kernel/gcov/fs.c
@@ -753,8 +753,6 @@ void gcov_event(enum gcov_action action, struct gcov_info *info)
/* Create debugfs entries. */
static __init int gcov_fs_init(void)
{
- int rc = -EIO;
-
init_node(&root_node, NULL, NULL, NULL);
/*
* /sys/kernel/debug/gcov will be parent for the reset control file
--
2.17.0

--
Peter Oberparleiter
Linux on Z Development - IBM Germany


2019-01-23 13:44:52

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH] gcov: no need to check return value of debugfs_create functions

On Wed, Jan 23, 2019 at 02:22:33PM +0100, Peter Oberparleiter wrote:
> On 22.01.2019 16:21, 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.
> >
> > Also delete the dentry variable as it is never needed.
> >
> > Cc: Peter Oberparleiter <[email protected]>
> > Signed-off-by: Greg Kroah-Hartman <[email protected]>
> > ---
> > kernel/gcov/fs.c | 22 ++--------------------
> > 1 file changed, 2 insertions(+), 20 deletions(-)
>
> Acked-by: Peter Oberparleiter <[email protected]>
>
> Compile test was successful, but the patch introduces a compile warning.
> Could you merge the attached patch?
>
> 8<===
> From: Peter Oberparleiter <[email protected]>
> Subject: [PATCH] gcov: Fix compiler warning
>
> Fix compiler warning when compiling with CONFIG_GCOV_KERNEL=y:
>
> CC kernel/gcov/fs.o
> kernel/gcov/fs.c: In function ‘gcov_fs_init’:
> kernel/gcov/fs.c:756:6: warning: unused variable ‘rc’ [-Wunused-variable]
> int rc = -EIO;
> ^~
>
> Signed-off-by: Peter Oberparleiter <[email protected]>
> ---
> kernel/gcov/fs.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/kernel/gcov/fs.c b/kernel/gcov/fs.c
> index aa9a49f72024..e5eb5ea7ea59 100644
> --- a/kernel/gcov/fs.c
> +++ b/kernel/gcov/fs.c
> @@ -753,8 +753,6 @@ void gcov_event(enum gcov_action action, struct gcov_info *info)
> /* Create debugfs entries. */
> static __init int gcov_fs_init(void)
> {
> - int rc = -EIO;
> -
> init_node(&root_node, NULL, NULL, NULL);
> /*
> * /sys/kernel/debug/gcov will be parent for the reset control file
> --

Ah, good catch, will do that, thanks.

greg k-h