merged.

Bruce

In message: [linux-yocto][v6.12/standard/ti-soc & 
v6.12/standard/preempt-rt/ti-soc][PATCH]  crypto: sa2ul - Fix mempool leak in 
sa_dma_init() error path
on 14/01/2026 Xulin Sun wrote:

> Fix a memory leak where the mempool created by mempool_create_kmalloc_pool()
> is not destroyed when dma_request_chan() fails for the rx1 channel.
> 
> The mempool is allocated at the beginning of sa_dma_init() with 64 elements
> of 512 bytes each. When dma_request_chan("rx1") fails, the function returns
> directly without calling mempool_destroy(), leaking 32KB of memory.
> 
> This issue was detected by kmemleak showing 40+ unreferenced 512-byte objects
> with the following backtrace:
>   mempool_create_node_noprof+0xa0/0xf8
>   sa_ul_probe+0xf4/0x538
>   platform_probe+0x70/0xe8
> 
> The fix changes the error handling to use goto err_dma_coerce, ensuring
> mempool_destroy() is called in the cleanup path.
> 
> Signed-off-by: Xulin Sun <[email protected]>
> ---
>  drivers/crypto/sa2ul.c | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/crypto/sa2ul.c b/drivers/crypto/sa2ul.c
> index 093b67ac120b..6cbd0bad889c 100644
> --- a/drivers/crypto/sa2ul.c
> +++ b/drivers/crypto/sa2ul.c
> @@ -3393,9 +3393,11 @@ static int sa_dma_init(struct sa_crypto_data *dev_data)
>               goto err_dma_coerce;
>  
>       dev_data->dma_rx1 = dma_request_chan(dev_data->dev, "rx1");
> -     if (IS_ERR(dev_data->dma_rx1))
> -             return dev_err_probe(dev_data->dev, PTR_ERR(dev_data->dma_rx1),
> -                                  "Unable to request rx1 DMA channel\n");
> +     if (IS_ERR(dev_data->dma_rx1)) {
> +             ret = dev_err_probe(dev_data->dev, PTR_ERR(dev_data->dma_rx1),
> +                                 "Unable to request rx1 DMA channel\n");
> +             goto err_dma_coerce;
> +     }
>  
>       dev_data->dma_rx2 = dma_request_chan(dev_data->dev, "rx2");
>       if (IS_ERR(dev_data->dma_rx2)) {
> -- 
> 2.34.1
> 
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#16185): 
https://lists.yoctoproject.org/g/linux-yocto/message/16185
Mute This Topic: https://lists.yoctoproject.org/mt/117257664/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to