2015-12-29 07:16:08

by Wan ZongShun

[permalink] [raw]
Subject: Re: [PATCH] iommu:Check that iommu_device_create has completed successfully in alloc_iommu

2015-12-29 13:10 GMT+08:00 Nicholas Krause <[email protected]>:
> This adds the proper check to alloc_iommu to make sure that the call
> to iommu_device_create has completed successfully and if not return
> to the caller the error code returned after freeing up resources
> allocated previously by alloc_iommu.
>
> Signed-off-by: Nicholas Krause <[email protected]>
> ---
> drivers/iommu/dmar.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/iommu/dmar.c b/drivers/iommu/dmar.c
> index 80e3c17..27333b6 100644
> --- a/drivers/iommu/dmar.c
> +++ b/drivers/iommu/dmar.c
> @@ -1069,9 +1069,12 @@ static int alloc_iommu(struct dmar_drhd_unit *drhd)
> iommu->iommu_dev = iommu_device_create(NULL, iommu,
> intel_iommu_groups,
> "%s", iommu->name);
> + if (IS_ERR(iommu->iommu_dev)) {
> + err = PTR_ERR(iommu->iommu_dev);
> + goto err_unmap;
> + }

If so, will this bad 'iommu->iommu_dev' break your iommu work? It
seems not necessary.

>
> return 0;
> -
> err_unmap:
> unmap_iommu(iommu);
> error_free_seq_id:
> --
> 2.5.0
>
> _______________________________________________
> iommu mailing list
> [email protected]
> https://lists.linuxfoundation.org/mailman/listinfo/iommu



--
---
Vincent Wan(Zongshun)
http://www.mcuos.com