iommu_device_register and iommu_device_sysfs_add can fail here and we must check its return value.
Signed-off-by: Arvind Yadav <arvind.yadav...@gmail.com> --- drivers/iommu/intel-iommu.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c index 9e35ad6..0e7b374 100644 --- a/drivers/iommu/intel-iommu.c +++ b/drivers/iommu/intel-iommu.c @@ -4909,11 +4909,19 @@ int __init intel_iommu_init(void) init_iommu_pm_ops(); for_each_active_iommu(iommu, drhd) { - iommu_device_sysfs_add(&iommu->iommu, NULL, + ret = iommu_device_sysfs_add(&iommu->iommu, NULL, intel_iommu_groups, "%s", iommu->name); + if (ret) { + pr_err("Failed to register iommu in sysfs\n"); + goto out_free_reserved_range; + } iommu_device_set_ops(&iommu->iommu, &intel_iommu_ops); - iommu_device_register(&iommu->iommu); + ret = iommu_device_register(&iommu->iommu); + if (ret) { + pr_err("Failed to register iommu\n"); + goto out_free_reserved_range; + } } bus_set_iommu(&pci_bus_type, &intel_iommu_ops); -- 1.9.1