From: Nicholas Krause Date: Mon, 4 Jan 2016 23:27:57 +0000 (-0500) Subject: iommu/vt-d: Check the return value of iommu_device_create() X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=592033790e8276f7038efb480871598648464a01;p=linux-beck.git iommu/vt-d: Check the return value of iommu_device_create() 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 the error code to the caller after freeing up resources allocated previously. Signed-off-by: Nicholas Krause Signed-off-by: Joerg Roedel --- diff --git a/drivers/iommu/dmar.c b/drivers/iommu/dmar.c index 80e3c176008e..add177a37f00 100644 --- a/drivers/iommu/dmar.c +++ b/drivers/iommu/dmar.c @@ -1070,6 +1070,12 @@ static int alloc_iommu(struct dmar_drhd_unit *drhd) intel_iommu_groups, "%s", iommu->name); + if (IS_ERR(iommu->iommu_dev)) { + drhd->iommu = NULL; + err = PTR_ERR(iommu->iommu_dev); + goto err_unmap; + } + return 0; err_unmap: