mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
media: cec: Fix debugfs leak on bus_register() failure
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: a56960e8b4 ("[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>
This commit is contained in:
committed by
Hans Verkuil
parent
203ee65bfd
commit
c43bcd2b2a
@@ -421,6 +421,7 @@ static int __init cec_devnode_init(void)
|
|||||||
|
|
||||||
ret = bus_register(&cec_bus_type);
|
ret = bus_register(&cec_bus_type);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
|
debugfs_remove_recursive(top_cec_dir);
|
||||||
unregister_chrdev_region(cec_dev_t, CEC_NUM_DEVICES);
|
unregister_chrdev_region(cec_dev_t, CEC_NUM_DEVICES);
|
||||||
pr_warn("cec: bus_register failed\n");
|
pr_warn("cec: bus_register failed\n");
|
||||||
return -EIO;
|
return -EIO;
|
||||||
|
|||||||
Reference in New Issue
Block a user