lkml.org 
[lkml]   [2017]   [Jan]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.9 124/206] ASoC: cht_bsw_rt5645: Fix leftover kmalloc
    Date
    4.9-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Takashi Iwai <tiwai@suse.de>

    commit a823a17981a73faa115bc0f7eda0190763075e2c upstream.

    cht_bsw_rt5645 driver allocates the own codec_id string but doesn't
    release it. For simplicity, put the string in cht_mc_private; then
    the string is allocated in a shot and released altogether.

    Fixes: c8560b7c917f ("ASoC: cht_bsw_rt5645: Fix writing to string literal")
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    sound/soc/intel/boards/cht_bsw_rt5645.c | 6 +++---
    1 file changed, 3 insertions(+), 3 deletions(-)

    --- a/sound/soc/intel/boards/cht_bsw_rt5645.c
    +++ b/sound/soc/intel/boards/cht_bsw_rt5645.c
    @@ -44,6 +44,7 @@ struct cht_acpi_card {
    struct cht_mc_private {
    struct snd_soc_jack jack;
    struct cht_acpi_card *acpi_card;
    + char codec_name[16];
    };

    static inline struct snd_soc_dai *cht_get_codec_dai(struct snd_soc_card *card)
    @@ -354,7 +355,6 @@ static int snd_cht_mc_probe(struct platf
    int i;
    struct cht_mc_private *drv;
    struct snd_soc_card *card = snd_soc_cards[0].soc_card;
    - char codec_name[16];
    struct sst_acpi_mach *mach;
    const char *i2c_name = NULL;
    int dai_index = 0;
    @@ -374,12 +374,12 @@ static int snd_cht_mc_probe(struct platf
    }
    card->dev = &pdev->dev;
    mach = card->dev->platform_data;
    - sprintf(codec_name, "i2c-%s:00", drv->acpi_card->codec_id);
    + sprintf(drv->codec_name, "i2c-%s:00", drv->acpi_card->codec_id);

    /* set correct codec name */
    for (i = 0; i < ARRAY_SIZE(cht_dailink); i++)
    if (!strcmp(card->dai_link[i].codec_name, "i2c-10EC5645:00")) {
    - card->dai_link[i].codec_name = kstrdup(codec_name, GFP_KERNEL);
    + card->dai_link[i].codec_name = drv->codec_name;
    dai_index = i;
    }


    \
     
     \ /
      Last update: 2017-01-10 14:50    [W:2.291 / U:0.348 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site