[PATCH] vfio: check vfio_register_iommu_driver() return value

From: Bo Liu
Date: Tue Jun 21 2022 - 02:21:26 EST


As vfio_register_iommu_driver() can fail, we should check the return value.

Signed-off-by: Bo Liu <liubo03@xxxxxxxxxx>
---
drivers/vfio/vfio.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/vfio/vfio.c b/drivers/vfio/vfio.c
index 61e71c1154be..7d4b6dfafd27 100644
--- a/drivers/vfio/vfio.c
+++ b/drivers/vfio/vfio.c
@@ -2159,10 +2159,16 @@ static int __init vfio_init(void)
pr_info(DRIVER_DESC " version: " DRIVER_VERSION "\n");

#ifdef CONFIG_VFIO_NOIOMMU
- vfio_register_iommu_driver(&vfio_noiommu_ops);
+ ret = vfio_register_iommu_driver(&vfio_noiommu_ops);
+ if (ret)
+ goto err_driver_register;
#endif
return 0;

+#ifdef CONFIG_VFIO_NOIOMMU
+err_driver_register:
+ unregister_chrdev_region(vfio.group_devt, MINORMASK + 1);
+#endif
err_alloc_chrdev:
class_destroy(vfio.class);
vfio.class = NULL;
--
2.27.0