From: Dinghao Liu Date: Thu, 20 Aug 2020 04:28:27 +0000 (+0800) Subject: ASoC: qcom: common: Fix refcount imbalance on error X-Git-Tag: v5.15~2585^2~24^2~10 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c1e6414cdc371f9ed82cefebba7538499a3059f9;p=platform%2Fkernel%2Flinux-starfive.git ASoC: qcom: common: Fix refcount imbalance on error for_each_child_of_node returns a node pointer np with refcount incremented. So when devm_kzalloc fails, a pairing refcount decrement is needed to keep np's refcount balanced. Fixes: 16395ceee11f8 ("ASoC: qcom: common: Fix NULL pointer in of parser") Signed-off-by: Dinghao Liu Link: https://lore.kernel.org/r/20200820042828.10308-1-dinghao.liu@zju.edu.cn Signed-off-by: Mark Brown --- diff --git a/sound/soc/qcom/common.c b/sound/soc/qcom/common.c index 5194d90..fd69cf8 100644 --- a/sound/soc/qcom/common.c +++ b/sound/soc/qcom/common.c @@ -52,8 +52,10 @@ int qcom_snd_parse_of(struct snd_soc_card *card) for_each_child_of_node(dev->of_node, np) { dlc = devm_kzalloc(dev, 2 * sizeof(*dlc), GFP_KERNEL); - if (!dlc) - return -ENOMEM; + if (!dlc) { + ret = -ENOMEM; + goto err; + } link->cpus = &dlc[0]; link->platforms = &dlc[1];