[PATCH] firmware: imx: dsp: fix mailbox channel leak on kasprintf failure

Linkai Gong posted 1 patch 1 month, 2 weeks ago
drivers/firmware/imx/imx-dsp.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
[PATCH] firmware: imx: dsp: fix mailbox channel leak on kasprintf failure
Posted by Linkai Gong 1 month, 2 weeks ago
If kasprintf() fails while setting up mailbox channels, already
requested channels from earlier iterations were never freed. Route
the failure through the existing cleanup path.

Fixes: ffbf23d50353 ("firmware: imx: Add DSP IPC protocol interface")
Signed-off-by: Linkai Gong <gonglinkai@kylinos.cn>
---
 drivers/firmware/imx/imx-dsp.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/firmware/imx/imx-dsp.c b/drivers/firmware/imx/imx-dsp.c
index ed79e823157a..7e3f45ddf0c1 100644
--- a/drivers/firmware/imx/imx-dsp.c
+++ b/drivers/firmware/imx/imx-dsp.c
@@ -99,8 +99,10 @@ static int imx_dsp_setup_channels(struct imx_dsp_ipc *dsp_ipc)
 		else
 			chan_name = kasprintf(GFP_KERNEL, "rxdb%d", i - 2);
 
-		if (!chan_name)
-			return -ENOMEM;
+		if (!chan_name) {
+			ret = -ENOMEM;
+			goto out;
+		}
 
 		dsp_chan = &dsp_ipc->chans[i];
 		dsp_chan->name = chan_name;
-- 
2.25.1
Re: [PATCH] firmware: imx: dsp: fix mailbox channel leak on kasprintf failure
Posted by Frank.Li@oss.nxp.com 2 weeks ago
From: Frank Li <Frank.Li@nxp.com>


On Thu, 13 Aug 2026 17:58:18 +0800, Linkai Gong wrote:
> If kasprintf() fails while setting up mailbox channels, already
> requested channels from earlier iterations were never freed. Route
> the failure through the existing cleanup path.

Applied, thanks!

[1/1] firmware: imx: dsp: fix mailbox channel leak on kasprintf failure
      commit: e3631d0242842940f9e902afaea98202e56277e8

Best regards,
-- 
Frank Li <Frank.Li@nxp.com>
Re: [PATCH] firmware: imx: dsp: fix mailbox channel leak on kasprintf failure
Posted by Frank Li 1 month, 2 weeks ago
On Thu, Aug 13, 2026 at 05:58:18PM +0800, Linkai Gong wrote:
> [You don't often get email from gonglinkai@kylinos.cn. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]
>
> If kasprintf() fails while setting up mailbox channels, already
> requested channels from earlier iterations were never freed. Route
> the failure through the existing cleanup path.
>
> Fixes: ffbf23d50353 ("firmware: imx: Add DSP IPC protocol interface")
> Signed-off-by: Linkai Gong <gonglinkai@kylinos.cn>
> ---

Reviewed-by: Frank Li <Frank.Li@nxp.com>

>  drivers/firmware/imx/imx-dsp.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> diff --git a/drivers/firmware/imx/imx-dsp.c b/drivers/firmware/imx/imx-dsp.c
> index ed79e823157a..7e3f45ddf0c1 100644
> --- a/drivers/firmware/imx/imx-dsp.c
> +++ b/drivers/firmware/imx/imx-dsp.c
> @@ -99,8 +99,10 @@ static int imx_dsp_setup_channels(struct imx_dsp_ipc *dsp_ipc)
>                 else
>                         chan_name = kasprintf(GFP_KERNEL, "rxdb%d", i - 2);
>
> -               if (!chan_name)
> -                       return -ENOMEM;
> +               if (!chan_name) {
> +                       ret = -ENOMEM;
> +                       goto out;
> +               }
>
>                 dsp_chan = &dsp_ipc->chans[i];
>                 dsp_chan->name = chan_name;
> --
> 2.25.1
>