[PATCH] fix: edac: edac_device_create_instance: main_kobj reference leaked on success and block-creation error paths
From: WenTao Liang
Date: Fri Jun 26 2026 - 08:35:44 EST
kobject_get(&edac_dev->kobj) acquires a reference on main_kobj, but it is
only released when kobject_init_and_add fails. The success path and the
block-creation error path both return without calling
kobject_put(main_kobj), leaking the edac_dev kobject reference. The
main_kobj pointer is local and lost after function return.
Cc: stable@xxxxxxxxxxxxxxx
Fixes: c10997f6575f ("Kobject: convert drivers/* from kobject_unregister() to kobject_put()")
Signed-off-by: WenTao Liang <vulab@xxxxxxxxxxx>
---
drivers/edac/edac_device_sysfs.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/edac/edac_device_sysfs.c b/drivers/edac/edac_device_sysfs.c
index b1c2717cd023..72b06d608b98 100644
--- a/drivers/edac/edac_device_sysfs.c
+++ b/drivers/edac/edac_device_sysfs.c
@@ -647,6 +647,7 @@ static int edac_device_create_instance(struct edac_device_ctl_info *edac_dev,
/* error unwind stack */
err_release_instance_kobj:
+ kobject_put(main_kobj);
kobject_put(&instance->kobj);
err_out:
--
2.39.5 (Apple Git-154)