mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-16 11:21:26 -04:00
mmc: sdhci-of-bst: Fix memory leak in sdhci_bst_alloc_bounce_buffer()
In sdhci_bst_alloc_bounce_buffer(), if dma_alloc_coherent() fails, the
function immediately returns -ENOMEM without releasing the reserved
memory, which results in a memory leak.
Add the missing of_reserved_mem_device_release() call before returning
-ENOMEM to properly clean up the reserved memory.
Fixes: 695824f456 ("mmc: sdhci: add Black Sesame Technologies BST C1200 controller driver")
Signed-off-by: Felix Gu <ustc.gu@gmail.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
@@ -425,8 +425,10 @@ static int sdhci_bst_alloc_bounce_buffer(struct sdhci_host *host)
|
||||
|
||||
host->bounce_buffer = dma_alloc_coherent(mmc_dev(mmc), bounce_size,
|
||||
&host->bounce_addr, GFP_KERNEL);
|
||||
if (!host->bounce_buffer)
|
||||
if (!host->bounce_buffer) {
|
||||
of_reserved_mem_device_release(mmc_dev(mmc));
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
host->bounce_buffer_size = bounce_size;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user