Unverified Commit 360b3730 authored by Haotian Zhang's avatar Haotian Zhang Committed by Mark Brown
Browse files

ASoC: rsnd: fix OF node reference leak in rsnd_ssiu_probe()



rsnd_ssiu_probe() leaks an OF node reference obtained by
rsnd_ssiu_of_node(). The node reference is acquired but
never released across all return paths.

Fix it by declaring the device node with the __free(device_node)
cleanup construct to ensure automatic release when the variable goes
out of scope.

Fixes: 4e7788fb ("ASoC: rsnd: add SSIU BUSIF support")
Signed-off-by: default avatarHaotian Zhang <vulab@iscas.ac.cn>
Acked-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://patch.msgid.link/20251112065709.1522-1-vulab@iscas.ac.cn


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent eb2d6774
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -509,7 +509,7 @@ void rsnd_parse_connect_ssiu(struct rsnd_dai *rdai,
int rsnd_ssiu_probe(struct rsnd_priv *priv)
{
	struct device *dev = rsnd_priv_to_dev(priv);
	struct device_node *node;
	struct device_node *node __free(device_node) = rsnd_ssiu_of_node(priv);
	struct rsnd_ssiu *ssiu;
	struct rsnd_mod_ops *ops;
	const int *list = NULL;
@@ -522,7 +522,6 @@ int rsnd_ssiu_probe(struct rsnd_priv *priv)
	 * see
	 *	rsnd_ssiu_bufsif_to_id()
	 */
	node = rsnd_ssiu_of_node(priv);
	if (node)
		nr = rsnd_node_count(priv, node, SSIU_NAME);
	else