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. Acked-by: Peter Oberparleiter <oberpar@linux.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
0fc811e5d7
Коммит
1c769fc41a
|
@ -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);
|
||||
|
|
Загрузка…
Ссылка в новой задаче