Re: [PATCH] ASoC: SOF: topology: fix memory leak in
From: Zhao Dongdong
Date: Wed Jun 10 2026 - 03:11:37 EST
On Wed, 10 Jun 2026 09:58:13 +0300, =?UTF-8?Q?P=C3=A9ter_Ujfalusi?= <peter.ujfalusi@xxxxxxxxxxxxxxx> wrote:
>
>
>
> On 10/06/2026 06:11, Zhao Dongdong wrote:
> > From: Zhao Dongdong <zhaodongdong@xxxxxxxxxx>
> >
> > When the topology filename contains "dummy" and tplg_cnt is 0, the
> > function returns -EINVAL directly without freeing the tplg_files
> > allocated by kcalloc() at line 2497. This leaks memory on every
> > such topology load attempt.
> >
> > Fix this by setting ret = -EINVAL and jumping to the out: label,
> > which already handles the kfree(tplg_files) cleanup.
> >
> > Fixes: 99c159279c6d ("ASoC: SOF: don't check the existence of dummy topology")
> > Cc: stable@xxxxxxxxxxxxxxx
> > Signed-off-by: Zhao Dongdong <zhaodongdong@xxxxxxxxxx>
> > ---
> > sound/soc/sof/topology.c | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c
> > index 63d582c65891..09d6dc01814c 100644
> > --- a/sound/soc/sof/topology.c
> > +++ b/sound/soc/sof/topology.c
> > @@ -2534,7 +2534,8 @@ int snd_sof_load_topology(struct snd_soc_component *scomp, const char *file)
> > if (strstr(file, "dummy")) {
> > dev_err(scomp->dev,
> > "Function topology is required, please upgrade sof-firmware\n");
> > - return -EINVAL;
> > + ret = -EINVAL;
> > + goto out;
>
> I think adding
> kfree(tplg_files);
> before the return would look better and align better with the code, here
> we are sure that led controls have not been created.
>
> > }
> > tplg_files[0] = file;
> > tplg_cnt = 1;
>
> --
> Péter
Thanks for your review.
I will send v2 patch.
--
Regards,
Zhao Dongdong