From: Felix Gu Date: Mon, 2 Mar 2026 13:47:12 +0000 (+0800) Subject: mmc: sdhci-of-bst: Fix memory leak in sdhci_bst_alloc_bounce_buffer() X-Git-Tag: v7.1-rc1~157^2~51 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=670f524faedccb1749beeb445c833ecae8c7409b;p=thirdparty%2Fkernel%2Fstable.git 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: 695824f45629 ("mmc: sdhci: add Black Sesame Technologies BST C1200 controller driver") Signed-off-by: Felix Gu Signed-off-by: Ulf Hansson --- diff --git a/drivers/mmc/host/sdhci-of-bst.c b/drivers/mmc/host/sdhci-of-bst.c index c124990a64f44..f8d3df715e1a0 100644 --- a/drivers/mmc/host/sdhci-of-bst.c +++ b/drivers/mmc/host/sdhci-of-bst.c @@ -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;