]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
of: unittest: Unlock on error in unittest_data_add()
authorDan Carpenter <dan.carpenter@linaro.org>
Wed, 30 Apr 2025 08:05:40 +0000 (11:05 +0300)
committerRob Herring (Arm) <robh@kernel.org>
Fri, 9 May 2025 22:26:40 +0000 (17:26 -0500)
The of_overlay_mutex_unlock() was accidentally deleted if "of_root" is
NULL.  Change this to a goto unlock.

Fixes: d1eabd218ede ("of: unittest: treat missing of_root as error instead of fixing up")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: Stephen Boyd <sboyd@kernel.org>
Link: https://lore.kernel.org/r/aBHZ1DvXiBcZkWmk@stanley.mountain
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
drivers/of/unittest.c

index 64d301893af7b861cf3e3c25d10f943dfd92bc03..eeb370e0f50777c8faec2f5c64ab8b4fb25668fb 100644 (file)
@@ -2029,15 +2029,16 @@ static int __init unittest_data_add(void)
        rc = of_resolve_phandles(unittest_data_node);
        if (rc) {
                pr_err("%s: Failed to resolve phandles (rc=%i)\n", __func__, rc);
-               of_overlay_mutex_unlock();
-               return -EINVAL;
+               rc = -EINVAL;
+               goto unlock;
        }
 
        /* attach the sub-tree to live tree */
        if (!of_root) {
                pr_warn("%s: no live tree to attach sub-tree\n", __func__);
                kfree(unittest_data);
-               return -ENODEV;
+               rc = -ENODEV;
+               goto unlock;
        }
 
        EXPECT_BEGIN(KERN_INFO,
@@ -2056,9 +2057,10 @@ static int __init unittest_data_add(void)
        EXPECT_END(KERN_INFO,
                   "Duplicate name in testcase-data, renamed to \"duplicate-name#1\"");
 
+unlock:
        of_overlay_mutex_unlock();
 
-       return 0;
+       return rc;
 }
 
 #ifdef CONFIG_OF_OVERLAY