Re: [PATCH] ASoC: audio-graph-card: fix refcount leak of cpu_ep in __graph_for_each_link()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx>
> ---

Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>

>  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



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux