linux/sound
Takashi Iwai bd55842ed9 ALSA: pcm: Fix potential data race at PCM memory allocation helpers
The PCM memory allocation helpers have a sanity check against too many
buffer allocations.  However, the check is performed without a proper
lock and the allocation isn't serialized; this allows user to allocate
more memories than predefined max size.

Practically seen, this isn't really a big problem, as it's more or
less some "soft limit" as a sanity check, and it's not possible to
allocate unlimitedly.  But it's still better to address this for more
consistent behavior.

The patch covers the size check in do_alloc_pages() with the
card->memory_mutex, and increases the allocated size there for
preventing the further overflow.  When the actual allocation fails,
the size is decreased accordingly.

Reported-by: BassCheck <bass@buaa.edu.cn>
Reported-by: Tuo Li <islituo@gmail.com>
Link: https://lore.kernel.org/r/CADm8Tek6t0WedK+3Y6rbE5YEt19tML8BUL45N2ji4ZAz1KcN_A@mail.gmail.com
Reviewed-by: Jaroslav Kysela <perex@perex.cz>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20230703112430.30634-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2023-07-03 14:52:27 +02:00
..
ac97 ALSA: ac97: make remove callback of ac97 driver void returned 2023-01-25 09:34:20 +01:00
aoa ALSA: Switch i2c drivers back to use .probe() 2023-06-05 09:22:45 +02:00
arm ALSA: pxa2xx: Convert to platform remove callback returning void 2023-03-20 13:07:00 +00:00
atmel ALSA: atmel: ac97: Convert to platform remove callback returning void 2023-03-20 13:07:01 +00:00
core ALSA: pcm: Fix potential data race at PCM memory allocation helpers 2023-07-03 14:52:27 +02:00
drivers ALSA: Implement the new Virtual PCM Test Driver 2023-06-07 13:08:53 +02:00
firewire ALSA: fireface: make read-only const array for model names static 2023-06-28 11:42:55 +02:00
hda ALSA: hda: fix a possible null-pointer dereference due to data race in snd_hdac_regmap_sync() 2023-07-03 10:08:12 +02:00
i2c ALSA: i2c/cs8427: fix iec958 mixer control deactivation 2023-04-06 08:09:36 +02:00
isa Merge branch 'for-next' into for-linus 2023-06-26 15:23:23 +02:00
mips ALSA: mips/sgio2audio: Convert to platform remove callback returning void 2023-03-20 13:07:05 +00:00
oss
parisc
pci ALSA: hda/realtek: Add quirks for Unis H3C Desktop B760 & Q760 2023-07-03 09:58:15 +02:00
pcmcia ALSA: add HAS_IOPORT dependencies 2023-05-22 16:43:47 +02:00
ppc ALSA: Switch i2c drivers back to use .probe() 2023-06-05 09:22:45 +02:00
sh ALSA: sh_dac_audio: Convert to platform remove callback returning void 2023-03-20 13:07:08 +00:00
soc ASoC: Updates for v6.5 2023-06-26 15:38:02 +02:00
sparc ALSA: sparc/dbri: Convert to platform remove callback returning void 2023-03-20 13:09:37 +00:00
spi
synth ALSA: emu10k1: fix synthesizer pitch for E-MU cards at 44.1 kHz 2023-06-13 07:42:08 +02:00
usb Merge branch 'for-next' into for-linus 2023-06-26 15:23:23 +02:00
virtio
x86
xen xen: make remove callback of xen driver void returned 2022-12-15 16:06:10 +01:00
ac97_bus.c ALSA: ac97: Remove redundant driver match function 2023-03-20 08:50:02 +01:00
Kconfig mfd: remove ucb1400 support 2023-02-01 17:23:38 +01:00
last.c
Makefile
sound_core.c sound: make all 'class' structures const 2023-06-21 07:29:10 +02:00