OrangePi_CM5/sound
Takashi Iwai fce793a056 ALSA: pcm: oss: Fix race at SNDCTL_DSP_SYNC
commit 8423f0b6d513b259fdab9c9bf4aaa6188d054c2d upstream.

There is a small race window at snd_pcm_oss_sync() that is called from
OSS PCM SNDCTL_DSP_SYNC ioctl; namely the function calls
snd_pcm_oss_make_ready() at first, then takes the params_lock mutex
for the rest.  When the stream is set up again by another thread
between them, it leads to inconsistency, and may result in unexpected
results such as NULL dereference of OSS buffer as a fuzzer spotted
recently.

The fix is simply to cover snd_pcm_oss_make_ready() call into the same
params_lock mutex with snd_pcm_oss_make_ready_locked() variant.

Reported-and-tested-by: butt3rflyh4ck <butterflyhuangxx@gmail.com>
Reviewed-by: Jaroslav Kysela <perex@perex.cz>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/CAFcO6XN7JDM4xSXGhtusQfS2mSBcx50VJKwQpCq=WeLt57aaZA@mail.gmail.com
Link: https://lore.kernel.org/r/20220905060714.22549-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Zubin Mithra <zsm@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-10-15 07:55:51 +02:00
..
ac97 ALSA: ac97: fix PM reference leak in ac97_bus_remove() 2021-07-20 16:05:40 +02:00
aoa
arm amba: Make the remove callback return void 2022-04-08 14:40:02 +02:00
atmel
core ALSA: pcm: oss: Fix race at SNDCTL_DSP_SYNC 2022-10-15 07:55:51 +02:00
drivers ALSA: aloop: Fix random zeros in capture data when using jiffies timer 2022-09-15 11:32:03 +02:00
firewire ALSA: fireworks: fix wrong return count shorter than expected by 4 bytes 2022-05-12 12:25:29 +02:00
hda ALSA: hda: intel-nhlt: Correct the handling of fmt_config flexible array 2022-09-08 11:11:36 +02:00
i2c
isa ALSA: wavefront: Proper check of get_user() error 2022-05-25 09:17:55 +02:00
mips
oss
parisc
pci ALSA: hda/hdmi: fix warning about PCM count when used with SOF 2022-10-05 10:38:43 +02:00
pcmcia
ppc ALSA: ppc: fix error return code in snd_pmac_probe() 2021-07-20 16:05:43 +02:00
sh
soc ASoC: tas2770: Reinit regcache on reset 2022-10-05 10:38:41 +02:00
sparc ALSA: sparc: dbri: fix repeated word 'the' 2020-10-17 09:58:35 +02:00
spi ALSA: spi: Add check for clk_enable() 2022-04-08 14:40:08 +02:00
synth ALSA: synth: missing check for possible NULL after the call to kstrdup 2021-11-18 14:03:40 +01:00
usb ALSA: usb-audio: Register card again for iface over delayed_register option 2022-09-15 11:32:05 +02:00
x86 ALSA: intel_hdmi: Fix reference to PCM buffer address 2022-03-08 19:09:31 +01:00
xen
Kconfig
Makefile
ac97_bus.c
last.c
sound_core.c