PCI: arch/i386/kernel/pci-dma.c: ioremap balanced with iounmap
ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Tested (compilation only): - using allmodconfig - making sure the files are compiling without any warning/error due to new changes Signed-off-by: Amol Lad <amol@verismonetworks.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
7edab2f087
commit
039d09a845
@@ -75,7 +75,7 @@ EXPORT_SYMBOL(dma_free_coherent);
|
|||||||
int dma_declare_coherent_memory(struct device *dev, dma_addr_t bus_addr,
|
int dma_declare_coherent_memory(struct device *dev, dma_addr_t bus_addr,
|
||||||
dma_addr_t device_addr, size_t size, int flags)
|
dma_addr_t device_addr, size_t size, int flags)
|
||||||
{
|
{
|
||||||
void __iomem *mem_base;
|
void __iomem *mem_base = NULL;
|
||||||
int pages = size >> PAGE_SHIFT;
|
int pages = size >> PAGE_SHIFT;
|
||||||
int bitmap_size = (pages + 31)/32;
|
int bitmap_size = (pages + 31)/32;
|
||||||
|
|
||||||
@@ -114,6 +114,8 @@ int dma_declare_coherent_memory(struct device *dev, dma_addr_t bus_addr,
|
|||||||
free1_out:
|
free1_out:
|
||||||
kfree(dev->dma_mem->bitmap);
|
kfree(dev->dma_mem->bitmap);
|
||||||
out:
|
out:
|
||||||
|
if (mem_base)
|
||||||
|
iounmap(mem_base);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(dma_declare_coherent_memory);
|
EXPORT_SYMBOL(dma_declare_coherent_memory);
|
||||||
|
Reference in New Issue
Block a user