From f843c4d152d2819b4df601a19e71f15099efecc4 Mon Sep 17 00:00:00 2001 From: Sona Sarmadi Date: Thu, 14 Apr 2016 13:40:53 +0200 Subject: kernel-ALSA: CVE-2016-2384 Fixes double-free in usb-audio triggered by invalid USB descriptor. Reference: https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2016-2384 Reference to the upstream patch: https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/patch/?id=1ea63b629c9c53af6cdde4daf166b3d31b3e9cfe Signed-off-by: Sona Sarmadi Signed-off-by: Tudor Florea --- .../linux-hierofalcon/ALSA-CVE-2016-2384.patch | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 recipes-kernel/linux/linux-hierofalcon/ALSA-CVE-2016-2384.patch (limited to 'recipes-kernel/linux/linux-hierofalcon') diff --git a/recipes-kernel/linux/linux-hierofalcon/ALSA-CVE-2016-2384.patch b/recipes-kernel/linux/linux-hierofalcon/ALSA-CVE-2016-2384.patch new file mode 100644 index 0000000..23fb898 --- /dev/null +++ b/recipes-kernel/linux/linux-hierofalcon/ALSA-CVE-2016-2384.patch @@ -0,0 +1,41 @@ +From 1ea63b629c9c53af6cdde4daf166b3d31b3e9cfe Mon Sep 17 00:00:00 2001 +From: Andrey Konovalov +Date: Sat, 13 Feb 2016 11:08:06 +0300 +Subject: ALSA: usb-audio: avoid freeing umidi object twice + +[ Upstream commit 07d86ca93db7e5cdf4743564d98292042ec21af7 ] + +The 'umidi' object will be free'd on the error path by snd_usbmidi_free() +when tearing down the rawmidi interface. So we shouldn't try to free it +in snd_usbmidi_create() after having registered the rawmidi interface. + +Found by KASAN. + +CVE: CVE-2016-2384 +Upstream-Status: Backport + +Signed-off-by: Andrey Konovalov +Acked-by: Clemens Ladisch +Cc: +Signed-off-by: Takashi Iwai +Signed-off-by: Sasha Levin +Signed-off-by: Sona Sarmadi +--- + sound/usb/midi.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/sound/usb/midi.c b/sound/usb/midi.c +index bec63e0..f059326 100644 +--- a/sound/usb/midi.c ++++ b/sound/usb/midi.c +@@ -2451,7 +2451,6 @@ int snd_usbmidi_create(struct snd_card *card, + else + err = snd_usbmidi_create_endpoints(umidi, endpoints); + if (err < 0) { +- snd_usbmidi_free(umidi); + return err; + } + +-- +cgit v0.12 + -- cgit v1.2.3-54-g00ecf