Merge tag 'arm-fixes-6.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[platform/kernel/linux-starfive.git] / kernel / fail_function.c
index 03643e3..a7ccd29 100644 (file)
@@ -294,14 +294,13 @@ static ssize_t fei_write(struct file *file, const char __user *buffer,
        }
 
        ret = register_kprobe(&attr->kp);
-       if (!ret)
-               fei_debugfs_add_attr(attr);
-       if (ret < 0)
-               fei_attr_remove(attr);
-       else {
-               list_add_tail(&attr->list, &fei_attr_list);
-               ret = count;
+       if (ret) {
+               fei_attr_free(attr);
+               goto out;
        }
+       fei_debugfs_add_attr(attr);
+       list_add_tail(&attr->list, &fei_attr_list);
+       ret = count;
 out:
        mutex_unlock(&fei_lock);
        kfree(buf);