Bluetooth: Fix debugfs entry leak in hci_register_dev()
authorWei Yongjun <weiyongjun1@huawei.com>
Wed, 13 Oct 2021 08:55:46 +0000 (16:55 +0800)
committerMarcel Holtmann <marcel@holtmann.org>
Wed, 13 Oct 2021 12:28:20 +0000 (14:28 +0200)
Fault injection test report debugfs entry leak as follows:

debugfs: Directory 'hci0' with parent 'bluetooth' already present!

When register_pm_notifier() failed in hci_register_dev(), the debugfs
create by debugfs_create_dir() do not removed in the error handing path.

Add the remove debugfs code to fix it.

Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
net/bluetooth/hci_core.c

index 8d33aa6..98533de 100644 (file)
@@ -3882,6 +3882,7 @@ int hci_register_dev(struct hci_dev *hdev)
        return id;
 
 err_wqueue:
+       debugfs_remove_recursive(hdev->debugfs);
        destroy_workqueue(hdev->workqueue);
        destroy_workqueue(hdev->req_workqueue);
 err: