android_kernel_oneplus_msm8998/sound
Takashi Iwai 623e5c8ae3 ALSA: seq: Make ioctls race-free
commit b3defb791b26ea0683a93a4f49c77ec45ec96f10 upstream.

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>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
[bwh: Backported to 4.4: ioctl dispatch is done from snd_seq_do_ioctl();
 take the mutex and add ret variable there.]
Signed-off-by: Ben Hutchings <ben.hutchings@codethink.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-02-03 17:04:25 +01:00
..
aoa
arm
atmel
core ALSA: seq: Make ioctls race-free 2018-02-03 17:04:25 +01:00
drivers ALSA: aloop: Fix racy hw constraints adjustment 2018-01-17 09:35:26 +01:00
firewire ALSA: firewire-lib: fix inappropriate assignment between signed/unsigned type 2017-05-02 21:19:55 -07:00
hda ALSA: hda: Drop useless WARN_ON() 2018-01-02 20:33:22 +01:00
i2c
isa ALSA: msnd: Optimize / harden DSP and MIDI loops 2017-09-13 14:09:46 -07:00
mips
oss
parisc
pci ALSA: hda - Apply the existing quirk to iMac 14,1 2018-01-23 19:50:14 +01:00
pcmcia ALSA: vx: Fix possible transfer overflow 2017-11-21 09:21:20 +01:00
ppc ALSA: ppc/awacs: shut up maybe-uninitialized warning 2017-05-08 07:46:01 +02:00
sh
soc ASoC: twl4030: fix child-node lookup 2018-01-02 20:33:22 +01:00
sparc
spi
synth
usb ALSA: usb-audio: Fix the missing ctl name suffix at parsing SU 2018-01-02 20:33:20 +01:00
ac97_bus.c
Kconfig
last.c
Makefile
sound_core.c
sound_firmware.c