[PATCH] timekeeping: Fix error code in tk_aux_sysfs_init()
From: Dan Carpenter
Date: Tue Nov 25 2025 - 08:55:50 EST
If kobject_create_and_add() fails on the first iteration, then the
error code is set to -ENOMEM and that's good. But if it fails on the
later 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@xxxxxxxxxx>
---
kernel/time/timekeeping.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
index 0c8b77ee4a3a..3ec3daa4acab 100644
--- a/kernel/time/timekeeping.c
+++ b/kernel/time/timekeeping.c
@@ -3087,8 +3087,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)
--
2.51.0