summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>2018-09-13 21:30:34 +0900
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-09-29 03:06:02 -0700
commit933f20a61e26467cae26935aeda43979035fb286 (patch)
treec247859f54f52b1bab06b6bbf90c97ba4c423d93
parent70165a445b00c7bb0f68c955da3c100817ac0c87 (diff)
downloadlinux-stable-933f20a61e26467cae26935aeda43979035fb286.tar.gz
linux-stable-933f20a61e26467cae26935aeda43979035fb286.tar.bz2
linux-stable-933f20a61e26467cae26935aeda43979035fb286.zip
ALSA: firewire-digi00x: fix memory leak of private data
commit a49a83ab05e34edd6c71a4fbd062c9a7ba6d18aa 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: 86c8dd7f4da3 ('ALSA: firewire-digi00x: 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>
-rw-r--r--sound/firewire/digi00x/digi00x.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sound/firewire/digi00x/digi00x.c b/sound/firewire/digi00x/digi00x.c
index 1f5e1d23f31a..ef689997d6a5 100644
--- a/sound/firewire/digi00x/digi00x.c
+++ b/sound/firewire/digi00x/digi00x.c
@@ -49,6 +49,7 @@ static void dg00x_free(struct snd_dg00x *dg00x)
fw_unit_put(dg00x->unit);
mutex_destroy(&dg00x->mutex);
+ kfree(dg00x);
}
static void dg00x_card_free(struct snd_card *card)