summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYoichi Yuasa2007-03-01 05:13:51 +0100
committerLinus Torvalds2007-03-01 23:53:39 +0100
commit3a0ee2ce8cc4f962031d7520df960431c2f26a9c (patch)
tree1e3ede5fa99185d326c0b5644a6b55358c39184d
parent[PATCH] Fix buffer overflow and races in capi debug functions (diff)
downloadkernel-qcow2-linux-3a0ee2ce8cc4f962031d7520df960431c2f26a9c.tar.gz
kernel-qcow2-linux-3a0ee2ce8cc4f962031d7520df960431c2f26a9c.tar.xz
kernel-qcow2-linux-3a0ee2ce8cc4f962031d7520df960431c2f26a9c.zip
[PATCH] fix memory leak in dma_declare_coherent_memory()
When it goes to free1_out, dev->dma_mem has not been freed. Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--arch/cris/arch-v32/drivers/pci/dma.c2
-rw-r--r--arch/i386/kernel/pci-dma.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/arch/cris/arch-v32/drivers/pci/dma.c b/arch/cris/arch-v32/drivers/pci/dma.c
index 426b09878a05..70d3bf0c92e8 100644
--- a/arch/cris/arch-v32/drivers/pci/dma.c
+++ b/arch/cris/arch-v32/drivers/pci/dma.c
@@ -111,7 +111,7 @@ int dma_declare_coherent_memory(struct device *dev, dma_addr_t bus_addr,
return DMA_MEMORY_IO;
free1_out:
- kfree(dev->dma_mem->bitmap);
+ kfree(dev->dma_mem);
out:
return 0;
}
diff --git a/arch/i386/kernel/pci-dma.c b/arch/i386/kernel/pci-dma.c
index 41af692c1584..3ebcea033623 100644
--- a/arch/i386/kernel/pci-dma.c
+++ b/arch/i386/kernel/pci-dma.c
@@ -110,7 +110,7 @@ int dma_declare_coherent_memory(struct device *dev, dma_addr_t bus_addr,
return DMA_MEMORY_IO;
free1_out:
- kfree(dev->dma_mem->bitmap);
+ kfree(dev->dma_mem);
out:
if (mem_base)
iounmap(mem_base);