lkml.org 
[lkml]   [2020]   [Sep]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.8 044/118] ASoC: qcom: common: Fix refcount imbalance on error
    Date
    From: Dinghao Liu <dinghao.liu@zju.edu.cn>

    [ Upstream commit c1e6414cdc371f9ed82cefebba7538499a3059f9 ]

    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 <dinghao.liu@zju.edu.cn>
    Link: https://lore.kernel.org/r/20200820042828.10308-1-dinghao.liu@zju.edu.cn
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    sound/soc/qcom/common.c | 6 ++++--
    1 file changed, 4 insertions(+), 2 deletions(-)

    diff --git a/sound/soc/qcom/common.c b/sound/soc/qcom/common.c
    index 8ada4ecba8472..10322690c0eaa 100644
    --- a/sound/soc/qcom/common.c
    +++ b/sound/soc/qcom/common.c
    @@ -45,8 +45,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];
    --
    2.25.1


    \
     
     \ /
      Last update: 2020-09-21 18:57    [W:4.094 / U:0.516 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site