summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBharat Bhushan <Bharat.Bhushan@freescale.com>2013-04-18 06:01:45 (GMT)
committerFleming Andrew-AFLEMING <AFLEMING@freescale.com>2013-04-19 23:09:59 (GMT)
commit8b554e04001b8704144c69a5831e8061c393baa6 (patch)
treee7adbf88373bc516785563e0a2f3aea8c6ce2321
parent8618f3fae7e491dc86b76c4a095a468678f43b8c (diff)
downloadlinux-fsl-qoriq-8b554e04001b8704144c69a5831e8061c393baa6.tar.xz
iommu: Fix potential memory leak issue
The dma_domain->win_arr is allocated when geometry is set. But if domain is destroyed then the allocated memory is not freed. When the dma_domain is created again then dma_domain is allocated again, so previous win_arr pointer is lost and never freed. Signed-off-by: Bharat Bhushan <bharat.bhushan@freescale.com> Change-Id: Ie6d964215c43aa59b9e38ac544169b58aba4bc1a Reviewed-on: http://git.am.freescale.net:8181/1488 Reviewed-by: Yoder Stuart-B08248 <stuart.yoder@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
-rw-r--r--drivers/iommu/fsl_pamu_domain.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/iommu/fsl_pamu_domain.c b/drivers/iommu/fsl_pamu_domain.c
index f85da57..74d85bd 100644
--- a/drivers/iommu/fsl_pamu_domain.c
+++ b/drivers/iommu/fsl_pamu_domain.c
@@ -433,6 +433,7 @@ static void fsl_pamu_domain_destroy(struct iommu_domain *domain)
dma_domain->enabled = 0;
dma_domain->mapped = 0;
+ kfree(dma_domain->win_arr);
kmem_cache_free(fsl_pamu_domain_cache, dma_domain);
}