Skip to contentSkip to conversation

staging: omapdrm/omap_gem_dmabuf.c: fix memory leakage

PATCH In review Cong Ding 2 participants 2 messages Jan 15, 2013 Staging

lore
Share & tools
lore

Cong Ding

author
#0 lore raw

PATCH 1/1 staging: omapdrm/omap_gem_dmabuf.c: fix memory leakage

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

---
 drivers/staging/omapdrm/omap_gem_dmabuf.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
drivers/staging/omapdrm/omap_gem_dmabuf.c +3 -3
index b6c5b5c..a3236ab 100644
@@ -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,
Signature · 1 line
1.7.10.4
#1 lore raw
Quoted 3 lines · Cong Ding

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

Quoted 22 lines
---
  drivers/staging/omapdrm/omap_gem_dmabuf.c |    6 +++---
  1 file changed, 3 insertions(+), 3 deletions(-)
drivers/staging/omapdrm/omap_gem_dmabuf.c +3 -3
index b6c5b5c..a3236ab 100644
@@ -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,