lkml.org 
[lkml]   [2020]   [Jul]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.7 175/179] ASoC: topology: fix tlvs in error handling for widget_dmixer
    Date
    From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>

    commit 8edac489e7c3fce44208373bb3e7b5835a672c66 upstream.

    we need to free all allocated tlvs, not just the one allocated in
    the loop before releasing kcontrols - other the tlvs references will
    leak.

    Fixes: 9f90af3a995298 ('ASoC: topology: Consolidate and fix asoc_tplg_dapm_widget_*_create flow')
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
    Link: https://lore.kernel.org/r/20200707203749.113883-3-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    sound/soc/soc-topology.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/sound/soc/soc-topology.c
    +++ b/sound/soc/soc-topology.c
    @@ -1395,7 +1395,6 @@ static struct snd_kcontrol_new *soc_tplg
    if (err < 0) {
    dev_err(tplg->dev, "ASoC: failed to init %s\n",
    mc->hdr.name);
    - soc_tplg_free_tlv(tplg, &kc[i]);
    goto err_sm;
    }
    }
    @@ -1403,6 +1402,7 @@ static struct snd_kcontrol_new *soc_tplg

    err_sm:
    for (; i >= 0; i--) {
    + soc_tplg_free_tlv(tplg, &kc[i]);
    sm = (struct soc_mixer_control *)kc[i].private_value;
    kfree(sm);
    kfree(kc[i].name);

    \
     
     \ /
      Last update: 2020-07-27 16:26    [W:4.632 / U:0.064 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site