Skip to content
Snippets Groups Projects
Commit 4aa3b1f6 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

fail_function: 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.

Cc: Kees Cook <keescook@chromium.org>
Cc: Josef Bacik <jbacik@fb.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com>
Cc: zhong jiang <zhongjiang@huawei.com>
Acked-by: default avatarMasami Hiramatsu <mhiramat@kernel.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 03eb2a08
No related branches found
No related tags found
No related merge requests found
...@@ -152,20 +152,13 @@ static int fei_retval_get(void *data, u64 *val) ...@@ -152,20 +152,13 @@ static int fei_retval_get(void *data, u64 *val)
DEFINE_DEBUGFS_ATTRIBUTE(fei_retval_ops, fei_retval_get, fei_retval_set, DEFINE_DEBUGFS_ATTRIBUTE(fei_retval_ops, fei_retval_get, fei_retval_set,
"%llx\n"); "%llx\n");
static int fei_debugfs_add_attr(struct fei_attr *attr) static void fei_debugfs_add_attr(struct fei_attr *attr)
{ {
struct dentry *dir; struct dentry *dir;
dir = debugfs_create_dir(attr->kp.symbol_name, fei_debugfs_dir); dir = debugfs_create_dir(attr->kp.symbol_name, fei_debugfs_dir);
if (!dir)
return -ENOMEM;
if (!debugfs_create_file("retval", 0600, dir, attr, &fei_retval_ops)) {
debugfs_remove_recursive(dir);
return -ENOMEM;
}
return 0; debugfs_create_file("retval", 0600, dir, attr, &fei_retval_ops);
} }
static void fei_debugfs_remove_attr(struct fei_attr *attr) static void fei_debugfs_remove_attr(struct fei_attr *attr)
...@@ -306,7 +299,7 @@ static ssize_t fei_write(struct file *file, const char __user *buffer, ...@@ -306,7 +299,7 @@ static ssize_t fei_write(struct file *file, const char __user *buffer,
ret = register_kprobe(&attr->kp); ret = register_kprobe(&attr->kp);
if (!ret) if (!ret)
ret = fei_debugfs_add_attr(attr); fei_debugfs_add_attr(attr);
if (ret < 0) if (ret < 0)
fei_attr_remove(attr); fei_attr_remove(attr);
else { else {
...@@ -337,19 +330,13 @@ static int __init fei_debugfs_init(void) ...@@ -337,19 +330,13 @@ static int __init fei_debugfs_init(void)
return PTR_ERR(dir); return PTR_ERR(dir);
/* injectable attribute is just a symlink of error_inject/list */ /* injectable attribute is just a symlink of error_inject/list */
if (!debugfs_create_symlink("injectable", dir, debugfs_create_symlink("injectable", dir, "../error_injection/list");
"../error_injection/list"))
goto error;
if (!debugfs_create_file("inject", 0600, dir, NULL, &fei_ops)) debugfs_create_file("inject", 0600, dir, NULL, &fei_ops);
goto error;
fei_debugfs_dir = dir; fei_debugfs_dir = dir;
return 0; return 0;
error:
debugfs_remove_recursive(dir);
return -ENOMEM;
} }
late_initcall(fei_debugfs_init); late_initcall(fei_debugfs_init);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment