[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