Messages in this thread Patch in this message | | | From | Baolin Wang <> | Subject | [PATCH] iommu: Optimize the error handling when allocating an iommu group | Date | Mon, 1 Jun 2020 16:11:06 +0800 |
| |
Optimize the error handling to free the resources correctly when failed to allocate an iommu group.
Signed-off-by: Baolin Wang <baolin.wang@linux.alibaba.com> --- drivers/iommu/iommu.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c index 03d6a26..ac91024 100644 --- a/drivers/iommu/iommu.c +++ b/drivers/iommu/iommu.c @@ -529,12 +529,18 @@ struct iommu_group *iommu_group_alloc(void) ret = iommu_group_create_file(group, &iommu_group_attr_reserved_regions); - if (ret) + if (ret) { + kobject_put(group->devices_kobj); return ERR_PTR(ret); + } ret = iommu_group_create_file(group, &iommu_group_attr_type); - if (ret) + if (ret) { + iommu_group_remove_file(group, + &iommu_group_attr_reserved_regions); + kobject_put(group->devices_kobj); return ERR_PTR(ret); + } pr_debug("Allocated group %d\n", group->id); -- 1.8.3.1
| |