summaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-omap/iovmm.c
diff options
context:
space:
mode:
authorSatish2010-06-09 12:21:27 +0200
committerTony Lindgren2010-06-09 12:21:27 +0200
commit7f1225bd6e62c54edfa0a2464648ad9e4efb1313 (patch)
treefb70cbe45d50b9728865db0417eb04dec12ca942 /arch/arm/plat-omap/iovmm.c
parentRevert "tty: fix a little bug in scrup, vt.c" (diff)
downloadkernel-qcow2-linux-7f1225bd6e62c54edfa0a2464648ad9e4efb1313.tar.gz
kernel-qcow2-linux-7f1225bd6e62c54edfa0a2464648ad9e4efb1313.tar.xz
kernel-qcow2-linux-7f1225bd6e62c54edfa0a2464648ad9e4efb1313.zip
omap iommu: Fix Memory leak
The memory allocated for sgt structure is not freed on error when sg_alloc_table is called in sgtable_alloc(). Signed-off-by: Satish Kumar <x0124230@ti.com> Signed-off-by: Manjunatha GK <manjugk@ti.com> Cc: Vimal Singh <vimal.newwork@gmail.com> Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com> Signed-off-by: Tony Lindgen <tony@atomide.com>
Diffstat (limited to 'arch/arm/plat-omap/iovmm.c')
-rw-r--r--arch/arm/plat-omap/iovmm.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/arm/plat-omap/iovmm.c b/arch/arm/plat-omap/iovmm.c
index e43983ba59c5..8ce0de247c71 100644
--- a/arch/arm/plat-omap/iovmm.c
+++ b/arch/arm/plat-omap/iovmm.c
@@ -140,8 +140,10 @@ static struct sg_table *sgtable_alloc(const size_t bytes, u32 flags)
return ERR_PTR(-ENOMEM);
err = sg_alloc_table(sgt, nr_entries, GFP_KERNEL);
- if (err)
+ if (err) {
+ kfree(sgt);
return ERR_PTR(err);
+ }
pr_debug("%s: sgt:%p(%d entries)\n", __func__, sgt, nr_entries);