]> git.baikalelectronics.ru Git - kernel.git/commit
ALSA: timer: Fix race between read and ioctl
authorTakashi Iwai <tiwai@suse.de>
Fri, 2 Jun 2017 13:03:38 +0000 (15:03 +0200)
committerTakashi Iwai <tiwai@suse.de>
Wed, 7 Jun 2017 08:25:20 +0000 (10:25 +0200)
commit57b56e189a2ff77304d1617ee4fa883211029203
tree48364c025833b47a89eda21f33ff6e8687266599
parent892a092e2b8fa5a0df2fb7e72f86a49b6dcef9ea
ALSA: timer: Fix race between read and ioctl

The read from ALSA timer device, the function snd_timer_user_tread(),
may access to an uninitialized struct snd_timer_user fields when the
read is concurrently performed while the ioctl like
snd_timer_user_tselect() is invoked.  We have already fixed the races
among ioctls via a mutex, but we seem to have forgotten the race
between read vs ioctl.

This patch simply applies (more exactly extends the already applied
range of) tu->ioctl_lock in snd_timer_user_tread() for closing the
race window.

Reported-by: Alexander Potapenko <glider@google.com>
Tested-by: Alexander Potapenko <glider@google.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/core/timer.c