linux/sound
Takashi Iwai b3defb791b ALSA: seq: Make ioctls race-free
The ALSA sequencer ioctls have no protection against racy calls while
the concurrent operations may lead to interfere with each other.  As
reported recently, for example, the concurrent calls of setting client
pool with a combination of write calls may lead to either the
unkillable dead-lock or UAF.

As a slightly big hammer solution, this patch introduces the mutex to
make each ioctl exclusive.  Although this may reduce performance via
parallel ioctl calls, usually it's not demanded for sequencer usages,
hence it should be negligible.

Reported-by: Luo Quan <a4651386@163.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2018-01-11 14:37:51 +01:00
..
ac97 ALSA: ac97: add an ac97 bus 2017-09-04 18:24:56 +01:00
aoa License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
arm Merge remote-tracking branches 'asoc/topic/ac97', 'asoc/topic/ac97-mfd', 'asoc/topic/amd' and 'asoc/topic/arizona-mfd' into asoc-next 2017-11-10 21:31:02 +00:00
atmel ASoC: Updates for v4.14 2017-09-04 14:50:49 +02:00
core ALSA: seq: Make ioctls race-free 2018-01-11 14:37:51 +01:00
drivers ALSA: aloop: Fix racy hw constraints adjustment 2018-01-05 16:44:16 +01:00
firewire Merge branch 'linus' into locking/core, to resolve conflicts 2017-11-07 10:32:44 +01:00
hda ALSA: hda: Drop useless WARN_ON() 2017-12-22 10:56:56 +01:00
i2c ASoC: Updates for v4.15 2017-11-13 15:45:57 +01:00
isa ASoC: Updates for v4.15 2017-11-13 15:45:57 +01:00
mips ALSA: mips: constify snd_pcm_ops structures 2017-08-19 11:02:18 +02:00
oss Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-11-13 17:56:58 -08:00
parisc License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pci ALSA: hda - Apply the existing quirk to iMac 14,1 2018-01-10 11:11:54 +01:00
pcmcia ALSA: pcmcia: constify snd_pcm_ops structures 2017-08-19 11:02:21 +02:00
ppc License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sh ALSA: sh: aica: Convert timers to use timer_setup() 2017-10-05 08:20:17 +02:00
soc Merge remote-tracking branches 'asoc/fix/rt5663', 'asoc/fix/tlv320aic31xx' and 'asoc/fix/twl4030' into asoc-linus 2017-12-20 15:43:15 +00:00
sparc License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
spi License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
synth ASoC: Updates for v4.15 2017-11-13 15:45:57 +01:00
usb ASoC: Fixes for v4.15 2017-12-20 17:36:04 +01:00
x86 main drm pull for v4.13 2017-07-09 18:48:37 -07:00
Kconfig ASoC: Updates for v4.15 2017-11-13 15:45:57 +01:00
Makefile ASoC: Updates for v4.15 2017-11-13 15:45:57 +01:00
ac97_bus.c ASoC: Updates for v4.3 2015-08-31 16:25:22 +02:00
last.c
sound_core.c sound: fix check for error condition of register_chrdev() 2015-11-07 11:14:30 +01:00