[PATCH v3] media: cec: Fix debugfs leak on bus_register() failure

Haotian Zhang posted 1 patch 2 days, 10 hours ago
drivers/media/cec/core/cec-core.c | 1 +
1 file changed, 1 insertion(+)
[PATCH v3] media: cec: Fix debugfs leak on bus_register() failure
Posted by Haotian Zhang 2 days, 10 hours ago
In cec_devnode_init(), the debugfs directory created with
debugfs_create_dir() is not removed if bus_register() fails.
This leaves a stale "cec" entry in debugfs and prevents
proper module reloading.

Fix this by removing the debugfs directory in the error path.

Fixes: a56960e8b406 ("[media] cec: add HDMI CEC framework (core)")
Signed-off-by: Haotian Zhang <vulab@iscas.ac.cn>
---
 drivers/media/cec/core/cec-core.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/media/cec/core/cec-core.c b/drivers/media/cec/core/cec-core.c
index e10bd588a586..147a31562234 100644
--- a/drivers/media/cec/core/cec-core.c
+++ b/drivers/media/cec/core/cec-core.c
@@ -421,6 +421,7 @@ static int __init cec_devnode_init(void)
 
 	ret = bus_register(&cec_bus_type);
 	if (ret < 0) {
+		debugfs_remove_recursive(top_cec_dir);
 		unregister_chrdev_region(cec_dev_t, CEC_NUM_DEVICES);
 		pr_warn("cec: bus_register failed\n");
 		return -EIO;
-- 
2.50.1.windows.1