]> www.infradead.org Git - users/jedix/linux-maple.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)
committerKirtikar Kashyap <kirtikar.kashyap@oracle.com>
Sun, 16 Jul 2017 22:51:51 +0000 (15:51 -0700)
commita2c76c21c9f66577b9b5e9131f46c9e700b846dc
treea962a3c03de26588874a8f624ea855f1edea3518
parentbeb3fe60c7ffef09d851e94feb4efc1c2e852559
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>
(cherry picked from commit d11662f4f798b50d8c8743f433842c3e40fe3378)

Orabug: 26267070
CVE-2017-1000380

Signed-off-by: Kirtikar Kashyap <kirtikar.kashyap@oracle.com>
Reviewed-by: Jack Vogel <jack.vogel@oracle.com>
sound/core/timer.c