]> 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)
commit39ac8b877fe946876aab36fa0ec7f5f44a207a3e
tree48364c025833b47a89eda21f33ff6e8687266599
parent09d5b723e669c15d4aae905d04ead5162799ecb0
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