lkml.org 
[lkml]   [2018]   [Sep]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.18 38/88] ALSA: oxfw: fix memory leak of discovered stream formats at error path
    Date
    4.18-stable review patch.  If anyone has any objections, please let me know.

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

    From: Takashi Sakamoto <o-takashi@sakamocchi.jp>

    commit 1064bc685d359f549f91c2d5f111965a9284f328 upstream.

    After finishing discover of stream formats, ALSA OXFW driver has memory
    leak of allocated memory object at error path.

    This commit releases the memory object at the error path.

    Fixes: 6c29230e2a5f ('ALSA: oxfw: delayed registration of sound card')
    Cc: <stable@vger.kernel.org> # v4.7+
    Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    sound/firewire/oxfw/oxfw.c | 7 +++++++
    1 file changed, 7 insertions(+)

    --- a/sound/firewire/oxfw/oxfw.c
    +++ b/sound/firewire/oxfw/oxfw.c
    @@ -207,6 +207,7 @@ static int detect_quirks(struct snd_oxfw
    static void do_registration(struct work_struct *work)
    {
    struct snd_oxfw *oxfw = container_of(work, struct snd_oxfw, dwork.work);
    + int i;
    int err;

    if (oxfw->registered)
    @@ -269,6 +270,12 @@ error:
    snd_oxfw_stream_destroy_simplex(oxfw, &oxfw->rx_stream);
    if (oxfw->has_output)
    snd_oxfw_stream_destroy_simplex(oxfw, &oxfw->tx_stream);
    + for (i = 0; i < SND_OXFW_STREAM_FORMAT_ENTRIES; ++i) {
    + kfree(oxfw->tx_stream_formats[i]);
    + oxfw->tx_stream_formats[i] = NULL;
    + kfree(oxfw->rx_stream_formats[i]);
    + oxfw->rx_stream_formats[i] = NULL;
    + }
    snd_card_free(oxfw->card);
    kfree(oxfw->spec);
    oxfw->spec = NULL;

    \
     
     \ /
      Last update: 2018-09-27 11:13    [W:4.611 / U:0.092 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site