diff options
author | Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp> | 2007-02-28 23:13:51 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-03-01 17:53:39 -0500 |
commit | 3a0ee2ce8cc4f962031d7520df960431c2f26a9c (patch) | |
tree | 1e3ede5fa99185d326c0b5644a6b55358c39184d /arch | |
parent | 17f0cd2f350b90b28301e27fe0e39f34bfe7e730 (diff) |
[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>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/cris/arch-v32/drivers/pci/dma.c | 2 | ||||
-rw-r--r-- | arch/i386/kernel/pci-dma.c | 2 |
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, | |||
111 | return DMA_MEMORY_IO; | 111 | return DMA_MEMORY_IO; |
112 | 112 | ||
113 | free1_out: | 113 | free1_out: |
114 | kfree(dev->dma_mem->bitmap); | 114 | kfree(dev->dma_mem); |
115 | out: | 115 | out: |
116 | return 0; | 116 | return 0; |
117 | } | 117 | } |
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, | |||
110 | return DMA_MEMORY_IO; | 110 | return DMA_MEMORY_IO; |
111 | 111 | ||
112 | free1_out: | 112 | free1_out: |
113 | kfree(dev->dma_mem->bitmap); | 113 | kfree(dev->dma_mem); |
114 | out: | 114 | out: |
115 | if (mem_base) | 115 | if (mem_base) |
116 | iounmap(mem_base); | 116 | iounmap(mem_base); |