ARM: dma-mapping: Fix potential memory leak in atomic_pool_init()
When either of __alloc_from_contiguous or __alloc_remap_buffer fails to provide a valid pointer, allocated memory is freed up and an error is returned. 'pages' was however not freed before returning error. Cc: Arnd Bergmann <arnd@arndb.de> Cc: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
This commit is contained in:
parent
979570e029
commit
ec10665cbf
@ -346,6 +346,8 @@ static int __init atomic_pool_init(void)
|
|||||||
(unsigned)pool->size / 1024);
|
(unsigned)pool->size / 1024);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
kfree(pages);
|
||||||
no_pages:
|
no_pages:
|
||||||
kfree(bitmap);
|
kfree(bitmap);
|
||||||
no_bitmap:
|
no_bitmap:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user