]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
media: cec: Fix debugfs leak on bus_register() failure
authorHaotian Zhang <vulab@iscas.ac.cn>
Mon, 29 Sep 2025 11:12:29 +0000 (19:12 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 19 Jan 2026 12:11:58 +0000 (13:11 +0100)
commit c43bcd2b2aa3c2ca9d2433c3990ecbc2c47d10eb upstream.

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)")
Cc: stable@vger.kernel.org
Signed-off-by: Haotian Zhang <vulab@iscas.ac.cn>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/media/cec/core/cec-core.c

index 0a3345e1a0f3af3edfbdfbcf348cb6ed3058e3fc..2c58faba5f7b9990b8c34f85b28cfe9f245af010 100644 (file)
@@ -433,6 +433,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;