lkml.org 
[lkml]   [2015]   [May]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH kernel v11 05/34] powerpc/iommu: Always release iommu_table in iommu_free_table()
    Date
    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 <aik@ozlabs.ru>
    ---
    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


    \
     
     \ /
      Last update: 2015-05-29 11:41    [W:4.172 / U:0.120 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site