gcov: no need to check return value of debugfs_create functions
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 22 Jan 2019 15:21:48 +0000 (16:21 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 3 Jun 2019 14:18:12 +0000 (16:18 +0200)
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.

Acked-by: Peter Oberparleiter <oberpar@linux.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
kernel/gcov/fs.c

index 6e40ff6be083dab77ad46edc01dbd95e4c0a854f..e5eb5ea7ea59824d8cbd6fd68f244657ba07a55d 100644 (file)
@@ -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);
@@ -761,32 +753,20 @@ 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
         * 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);