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 | |
| 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>
| -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); |
