| Date | Wed, 28 Sep 2011 15:03:05 -0700 | From | Greg KH <> | Subject | [221/244] ARM: dma-mapping: free allocated page if unable to map |
| |
3.0-stable review patch. If anyone has any objections, please let us know.
------------------
From: Russell King <rmk+kernel@arm.linux.org.uk>
commit d8e89b47e00ee80e920761145144640aac4cf71a upstream.
If the attempt to map a page for DMA fails (eg, because we're out of mapping space) then we must not hold on to the page we allocated for DMA - doing so will result in a memory leak.
Reported-by: Bryan Phillippe <bp@darkforest.org> Tested-by: Bryan Phillippe <bp@darkforest.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
--- arch/arm/mm/dma-mapping.c | 2 ++ 1 file changed, 2 insertions(+)
--- a/arch/arm/mm/dma-mapping.c +++ b/arch/arm/mm/dma-mapping.c @@ -322,6 +322,8 @@ __dma_alloc(struct device *dev, size_t s if (addr) *handle = pfn_to_dma(dev, page_to_pfn(page)); + else + __dma_free_buffer(page, size); return addr; }
|