iommufd/selftest: Don't leak the platform device memory when unloading the module
authorYang Yingliang <yangyingliang@huawei.com>
Wed, 16 Aug 2023 08:13:18 +0000 (16:13 +0800)
committerJason Gunthorpe <jgg@nvidia.com>
Fri, 18 Aug 2023 15:56:24 +0000 (12:56 -0300)
It should call platform_device_unregister() instead of
platform_device_del() to unregister and free the device.

Fixes: 23a1b46f15d5 ("iommufd/selftest: Make the mock iommu driver into a real driver")
Link: https://lore.kernel.org/r/20230816081318.1232865-1-yangyingliang@huawei.com
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/iommu/iommufd/selftest.c

index 90e7c5400282603b140651c8db0e52647c82cc0d..56506d5753f15c9f7079a661773404636d975c9e 100644 (file)
@@ -1089,7 +1089,7 @@ err_sysfs:
 err_bus:
        bus_unregister(&iommufd_mock_bus_type.bus);
 err_platform:
-       platform_device_del(selftest_iommu_dev);
+       platform_device_unregister(selftest_iommu_dev);
 err_dbgfs:
        debugfs_remove_recursive(dbgfs_root);
        return rc;
@@ -1102,6 +1102,6 @@ void iommufd_test_exit(void)
                                    &iommufd_mock_bus_type.bus,
                                    &iommufd_mock_bus_type.nb);
        bus_unregister(&iommufd_mock_bus_type.bus);
-       platform_device_del(selftest_iommu_dev);
+       platform_device_unregister(selftest_iommu_dev);
        debugfs_remove_recursive(dbgfs_root);
 }