]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
timekeeping: Fix error code in tk_aux_sysfs_init()
authorDan Carpenter <dan.carpenter@linaro.org>
Tue, 25 Nov 2025 13:55:19 +0000 (16:55 +0300)
committerThomas Gleixner <tglx@linutronix.de>
Tue, 25 Nov 2025 16:52:24 +0000 (17:52 +0100)
If kobject_create_and_add() fails on the first iteration, then the error
code is set to -ENOMEM which is correct. But if it fails in subsequent
iterations then "ret" is zero, which means success, but it should be
-ENOMEM.

Set the error code to -ENOMEM correctly.

Fixes: 7b5ab04f035f ("timekeeping: Fix resource leak in tk_aux_sysfs_init() error paths")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Malaya Kumar Rout <mrout@redhat.com>
Link: https://patch.msgid.link/aSW1R8q5zoY_DgQE@stanley.mountain
kernel/time/timekeeping.c

index 08e0943b54da6f5e30b4a4b5c410c589ca86c9a4..4790da895203c2e934c85156f6b74166150e06c4 100644 (file)
@@ -3073,8 +3073,10 @@ static int __init tk_aux_sysfs_init(void)
                char id[2] = { [0] = '0' + i, };
                struct kobject *clk = kobject_create_and_add(id, auxo);
 
-               if (!clk)
+               if (!clk) {
+                       ret = -ENOMEM;
                        goto err_clean;
+               }
 
                ret = sysfs_create_group(clk, &aux_clock_enable_attr_group);
                if (ret)