Re: [PATCH kernel v11 05/34] powerpc/iommu: Always release iommu_table in iommu_free_table()
On Fri, May 29, 2015 at 06:44:29PM +1000, Alexey Kardashevskiy wrote: >At the moment iommu_free_table() only releases memory if >the table was initialized for the platform code use, i.e. it had >it_map initialized (which purpose is to track DMA memory space use). > >With dynamic DMA windows, we will need to be able to release >iommu_table even if it was used for VFIO in which case it_map is NULL >so does the patch. > >Signed-off-by: Alexey Kardashevskiy Reviewed-by: Gavin Shan Thanks, Gavin >--- >Changes: >v11: >* fixed parameter checks >--- > arch/powerpc/kernel/iommu.c | 8 +--- > 1 file changed, 5 insertions(+), 3 deletions(-) > >diff --git a/arch/powerpc/kernel/iommu.c b/arch/powerpc/kernel/iommu.c >index 3d47eb3..73eb39a 100644 >--- a/arch/powerpc/kernel/iommu.c >+++ b/arch/powerpc/kernel/iommu.c >@@ -713,9 +713,11 @@ void iommu_free_table(struct iommu_table *tbl, const char >*node_name) > unsigned long bitmap_sz; > unsigned int order; > >- if (!tbl || !tbl->it_map) { >- printk(KERN_ERR "%s: expected TCE map for %s\n", __func__, >- node_name); >+ if (!tbl) >+ return; >+ >+ if (!tbl->it_map) { >+ kfree(tbl); > return; > } > >-- >2.4.0.rc3.8.gfb3e7d5 > -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH kernel v11 05/34] powerpc/iommu: Always release iommu_table in iommu_free_table()
On Fri, May 29, 2015 at 06:44:29PM +1000, Alexey Kardashevskiy wrote: > At the moment iommu_free_table() only releases memory if > the table was initialized for the platform code use, i.e. it had > it_map initialized (which purpose is to track DMA memory space use). > > With dynamic DMA windows, we will need to be able to release > iommu_table even if it was used for VFIO in which case it_map is NULL > so does the patch. > > Signed-off-by: Alexey Kardashevskiy Reviewed-by: David Gibson -- David Gibson| I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson pgpIOpAYk9qeN.pgp Description: PGP signature
[PATCH kernel v11 05/34] powerpc/iommu: Always release iommu_table in iommu_free_table()
At the moment iommu_free_table() only releases memory if the table was initialized for the platform code use, i.e. it had it_map initialized (which purpose is to track DMA memory space use). With dynamic DMA windows, we will need to be able to release iommu_table even if it was used for VFIO in which case it_map is NULL so does the patch. Signed-off-by: Alexey Kardashevskiy --- Changes: v11: * fixed parameter checks --- arch/powerpc/kernel/iommu.c | 8 +--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/arch/powerpc/kernel/iommu.c b/arch/powerpc/kernel/iommu.c index 3d47eb3..73eb39a 100644 --- a/arch/powerpc/kernel/iommu.c +++ b/arch/powerpc/kernel/iommu.c @@ -713,9 +713,11 @@ void iommu_free_table(struct iommu_table *tbl, const char *node_name) unsigned long bitmap_sz; unsigned int order; - if (!tbl || !tbl->it_map) { - printk(KERN_ERR "%s: expected TCE map for %s\n", __func__, - node_name); + if (!tbl) + return; + + if (!tbl->it_map) { + kfree(tbl); return; } -- 2.4.0.rc3.8.gfb3e7d5 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html