Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d8e89b47 authored by Russell King's avatar Russell King
Browse files

ARM: dma-mapping: free allocated page if unable to map



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.

Cc: <stable@kernel.org>
Reported-by: default avatarBryan Phillippe <bp@darkforest.org>
Tested-by: default avatarBryan Phillippe <bp@darkforest.org>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 6760b109
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -324,6 +324,8 @@ __dma_alloc(struct device *dev, size_t size, dma_addr_t *handle, gfp_t gfp,

	if (addr)
		*handle = pfn_to_dma(dev, page_to_pfn(page));
	else
		__dma_free_buffer(page, size);

	return addr;
}