There is a memory leakage in variable sg if it goes to error.

Signed-off-by: Cong Ding <ding...@gmail.com>
---
 drivers/staging/omapdrm/omap_gem_dmabuf.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/omapdrm/omap_gem_dmabuf.c 
b/drivers/staging/omapdrm/omap_gem_dmabuf.c
index b6c5b5c..a3236ab 100644
--- a/drivers/staging/omapdrm/omap_gem_dmabuf.c
+++ b/drivers/staging/omapdrm/omap_gem_dmabuf.c
@@ -53,10 +53,10 @@ static struct sg_table *omap_gem_map_dma_buf(
        /* this should be after _get_paddr() to ensure we have pages attached */
        omap_gem_dma_sync(obj, dir);
 
-out:
-       if (ret)
-               return ERR_PTR(ret);
        return sg;
+out:
+       kfree(sg);
+       return ERR_PTR(ret);
 }
 
 static void omap_gem_unmap_dma_buf(struct dma_buf_attachment *attachment,
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to