[PATCH] ASoC: audio-graph-card: fix refcount leak of cpu_ep in __graph_for_each_link()
Kuninori Morimoto
kuninori.morimoto.gx at renesas.com
Wed Dec 7 00:02:49 CET 2022
Hi
> The of_get_next_child() returns a node with refcount incremented, and
> decrements the refcount of prev. So in the error path of the while loop,
> of_node_put() needs be called for cpu_ep.
>
> Fixes: fce9b90c1ab7 ("ASoC: audio-graph-card: cleanup DAI link loop method - step2")
> Signed-off-by: Wang Yufen <wangyufen at huawei.com>
> ---
Acked-by: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
> sound/soc/generic/audio-graph-card.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/sound/soc/generic/audio-graph-card.c b/sound/soc/generic/audio-graph-card.c
> index fe7cf97..5daa824 100644
> --- a/sound/soc/generic/audio-graph-card.c
> +++ b/sound/soc/generic/audio-graph-card.c
> @@ -485,8 +485,10 @@ static int __graph_for_each_link(struct asoc_simple_priv *priv,
> of_node_put(codec_ep);
> of_node_put(codec_port);
>
> - if (ret < 0)
> + if (ret < 0) {
> + of_node_put(cpu_ep);
> return ret;
> + }
>
> codec_port_old = codec_port;
> }
> --
> 1.8.3.1
>
>
Thank you for your help !!
Best regards
---
Kuninori Morimoto
More information about the Alsa-devel
mailing list