]> www.infradead.org Git - users/jedix/linux-maple.git/commit
ALSA: seq: Fix race at closing in virmidi driver
authorTakashi Iwai <tiwai@suse.de>
Mon, 1 Feb 2016 11:06:42 +0000 (12:06 +0100)
committerChuck Anderson <chuck.anderson@oracle.com>
Thu, 26 May 2016 22:44:39 +0000 (15:44 -0700)
commitf5e337230600ea08213398d5427ad5b0384cb7e1
tree60f515b2f99b1a5fca44dbde66d965b42bfe3114
parentc15a3f12cce70708fc94ac7a7f1a2923375dbc7a
ALSA: seq: Fix race at closing in virmidi driver

Orabug: 23330799

[ Upstream commit 2d1b5c08366acd46c35a2e9aba5d650cb5bf5c19 ]

The virmidi driver has an open race at closing its assigned rawmidi
device, and this may lead to use-after-free in
snd_seq_deliver_single_event().

Plug the hole by properly protecting the linked list deletion and
calling in the right order in snd_virmidi_input_close().

BugLink: http://lkml.kernel.org/r/CACT4Y+Zd66+w12fNN85-425cVQT=K23kWbhnCEcMB8s3us-Frw@mail.gmail.com
Reported-by: Dmitry Vyukov <dvyukov@google.com>
Tested-by: Dmitry Vyukov <dvyukov@google.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
(cherry picked from commit 81bce29eec26617db18ff21543c7a091b5c10c92)

Signed-off-by: Dan Duval <dan.duval@oracle.com>
sound/core/seq/seq_virmidi.c