diff --git a/drivers/iommu/intel-pasid.c b/drivers/iommu/intel-pasid.c index fe95c9bd4d338396ef9a6b2a3cc547253c04260b..1a82ee1c6e3d90bced9c86170ffc5159a169e2f4 100644 --- a/drivers/iommu/intel-pasid.c +++ b/drivers/iommu/intel-pasid.c @@ -149,8 +149,10 @@ int intel_pasid_alloc_table(struct device *dev) pages = alloc_pages_node(info->iommu->node, GFP_ATOMIC | __GFP_ZERO, order); - if (!pages) + if (!pages) { + kfree(pasid_table); return -ENOMEM; + } pasid_table->table = page_address(pages); pasid_table->order = order;