linux-stable/sound
Takashi Iwai 00b83a8f59 ALSA: seq: oss: Avoid mutex lock for a long-time ioctl
[ Upstream commit 2759caad26 ]

Recently we applied a fix to cover the whole OSS sequencer ioctls with
the mutex for dealing with the possible races.  This works fine in
general, but in theory, this may lead to unexpectedly long stall if an
ioctl like SNDCTL_SEQ_SYNC is issued and an event with the far future
timestamp was queued.

For fixing such a potential stall, this patch changes the mutex lock
applied conditionally excluding such an ioctl command.  Also, change
the mutex_lock() with the interruptible version for user to allow
escaping from the big-hammer mutex.

Fixes: 80982c7e83 ("ALSA: seq: oss: Serialize ioctls")
Suggested-by: Pavel Machek <pavel@ucw.cz>
Link: https://lore.kernel.org/r/20200922083856.28572-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-10-29 09:07:06 +01:00
..
aoa ALSA: aoa: onyx: always initialize register read value 2020-01-27 14:46:41 +01:00
arm License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
atmel ASoC: Updates for v4.14 2017-09-04 14:50:49 +02:00
core ALSA: seq: oss: Avoid mutex lock for a long-time ioctl 2020-10-29 09:07:06 +01:00
drivers ALSA: opl3: fix infoleak in opl3 2020-07-22 09:22:17 +02:00
firewire ALSA: bebob: potential info leak in hwdep_read() 2020-10-29 09:06:59 +01:00
hda ALSA: hda: Fix potential race in unsol event handler 2020-10-01 13:12:44 +02:00
i2c ALSA: i2c/cs8427: Fix int to char conversion 2019-12-01 09:13:39 +01:00
isa ALSA: isa/wavefront: prevent out of bounds write in ioctl 2020-06-25 15:41:48 +02:00
mips ALSA: mips: constify snd_pcm_ops structures 2017-08-19 11:02:18 +02:00
oss License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01: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: asihpi: fix iounmap in error handler 2020-10-01 13:12:51 +02:00
pcmcia ALSA: vxpocket: Fix invalid endian conversions 2018-08-22 07:46:10 +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: Fix compile warning wrt const 2020-02-28 16:36:02 +01:00
soc ASoC: qcom: lpass-cpu: fix concurrency issue 2020-10-29 09:07:03 +01:00
sparc ALSA: sparc: Fix invalid snd_free_pages() at error path 2018-12-05 19:41:24 +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 ALSA: emux: Fix potential Spectre v1 vulnerabilities 2019-01-09 17:14:46 +01:00
usb ALSA: usb-audio: Fix case when USB MIDI interface has more than one extra endpoint descriptor 2020-10-01 13:12:40 +02:00
x86 ALSA: x86: Fix runtime PM for hdmi-lpe-audio 2019-03-27 14:13:52 +09:00
ac97_bus.c
Kconfig ALSA: synth: Select snd-emux-synth explicitly 2017-06-09 22:10:06 +02:00
last.c
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sound_core.c sound: fix a memory leak bug 2019-08-16 10:13:46 +02:00