diff options
author | Bharat Bhushan <Bharat.Bhushan@freescale.com> | 2013-04-18 06:01:45 (GMT) |
---|---|---|
committer | Fleming Andrew-AFLEMING <AFLEMING@freescale.com> | 2013-04-19 23:09:59 (GMT) |
commit | 8b554e04001b8704144c69a5831e8061c393baa6 (patch) | |
tree | e7adbf88373bc516785563e0a2f3aea8c6ce2321 | |
parent | 8618f3fae7e491dc86b76c4a095a468678f43b8c (diff) | |
download | linux-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.c | 1 |
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); } |