[PATCH 4.14 23/64] ALSA: firewire-tascam: fix memory leak of private data

From: Greg Kroah-Hartman
Date: Thu Sep 27 2018 - 05:18:04 EST


4.14-stable review patch. If anyone has any objections, please let me know.

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

From: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx>

commit 8d28277c065a974873c6781d44b7bcdcd8fb4e8a upstream.

Although private data of sound card instance is usually allocated in the
tail of the instance, drivers in ALSA firewire stack allocate the private
data before allocating the instance. In this case, the private data
should be released explicitly at .private_free callback of the instance.

This commit fixes memory leak following to the above design.

Fixes: b610386c8afb ('ALSA: firewire-tascam: deleyed registration of sound card')
Cc: <stable@xxxxxxxxxxxxxxx> # v4.7+
Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

---
sound/firewire/tascam/tascam.c | 1 +
1 file changed, 1 insertion(+)

--- a/sound/firewire/tascam/tascam.c
+++ b/sound/firewire/tascam/tascam.c
@@ -93,6 +93,7 @@ static void tscm_free(struct snd_tscm *t
fw_unit_put(tscm->unit);

mutex_destroy(&tscm->mutex);
+ kfree(tscm);
}

static void tscm_card_free(struct snd_card *card)