android_kernel_oneplus_msm8998/sound/core
Takashi Iwai 51606ddec9 ALSA: seq: More protection for concurrent write and ioctl races
commit 7bd80091567789f1c0cb70eb4737aac8bcd2b6b9 upstream.

This patch is an attempt for further hardening against races between
the concurrent write and ioctls.  The previous fix d15d662e89fc
("ALSA: seq: Fix racy pool initializations") covered the race of the
pool initialization at writer and the pool resize ioctl by the
client->ioctl_mutex (CVE-2018-1000004).  However, basically this mutex
should be applied more widely to the whole write operation for
avoiding the unexpected pool operations by another thread.

The only change outside snd_seq_write() is the additional mutex
argument to helper functions, so that we can unlock / relock the given
mutex temporarily during schedule() call for blocking write.

Fixes: d15d662e89fc ("ALSA: seq: Fix racy pool initializations")
Reported-by: 范龙飞 <long7573@126.com>
Reported-by: Nicolai Stange <nstange@suse.de>
Reviewed-and-tested-by: Nicolai Stange <nstange@suse.de>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-03-18 11:17:50 +01:00
..
oss ALSA: pcm: Allow aborting mutex lock at OSS read/write loops 2018-01-17 09:35:26 +01:00
seq ALSA: seq: More protection for concurrent write and ioctl races 2018-03-18 11:17:50 +01:00
compress_offload.c ALSA: compress: Remove unused variable 2017-10-12 11:27:32 +02:00
control.c ALSA: core: Fix unexpected error at replacing user TLV 2017-08-30 10:19:22 +02:00
control_compat.c ALSA: ctl: Fix ioctls for X32 ABI 2016-03-09 15:34:53 -08:00
ctljack.c ALSA: jack: Fix endless loop at unique index detection 2015-06-26 06:59:57 +02:00
device.c
hrtimer.c ALSA: hrtimer: Fix stall by hrtimer_cancel() 2016-01-31 11:28:57 -08:00
hwdep.c
hwdep_compat.c
info.c ALSA: info: Limit the proc text input size 2016-11-18 10:48:33 +01:00
info_oss.c
init.c ALSA: Fix uninintialized error return 2015-06-29 19:08:31 +02:00
isadma.c
jack.c
Kconfig ALSA: timer: add config item to export PCM timer disabling for expert 2015-10-16 14:31:38 +02:00
Makefile ALSA: timer: add config item to export PCM timer disabling for expert 2015-10-16 14:31:38 +02:00
memalloc.c genalloc: rename of_get_named_gen_pool() to of_gen_pool_get() 2015-06-30 19:45:01 -07:00
memory.c
misc.c
pcm.c ALSA: pcm: prevent UAF in snd_pcm_info 2017-12-16 10:33:48 +01:00
pcm_compat.c ALSA: pcm: Fix ioctls for X32 ABI 2016-03-09 15:34:54 -08:00
pcm_dmaengine.c
pcm_drm_eld.c
pcm_iec958.c
pcm_lib.c ALSA: pcm: Remove yet superfluous WARN_ON() 2018-01-23 19:50:14 +01:00
pcm_memory.c
pcm_misc.c
pcm_native.c ALSA: pcm: Fix rwsem deadlock for non-atomic PCM stream 2016-02-25 12:01:13 -08:00
pcm_timer.c
pcm_trace.h
rawmidi.c ALSA: rawmidi: Avoid racy info ioctl via ctl device 2018-01-02 20:33:20 +01:00
rawmidi_compat.c ALSA: rawmidi: Fix ioctls X32 ABI 2016-03-09 15:34:54 -08:00
rtctimer.c
sgbuf.c
sound.c
sound_oss.c
timer.c ALSA: timer: Fix missing queue indices reset at SNDRV_TIMER_IOCTL_SELECT 2017-06-14 13:16:26 +02:00
timer_compat.c ALSA: timer: Remove kernel warning at compat ioctl error paths 2017-11-30 08:37:22 +00:00
vmaster.c