mirror-linux/sound/firewire
Cássio Gabriel 98fb1c1bb1 ALSA: firewire-motu: Protect register DSP event queue positions
The register DSP event queue is updated under parser->lock, but
snd_motu_register_dsp_message_parser_count_event() reads pull_pos and
push_pos without the lock.
snd_motu_register_dsp_message_parser_copy_event() also reads both queue
positions before taking the lock.

Protect these accesses with parser->lock as well. This keeps the hwdep
poll/read path consistent with the producer side and with the cached
meter/parameter accessors.

Fixes: 634ec0b290 ("ALSA: firewire-motu: notify event for parameter change in register DSP model")
Cc: stable@vger.kernel.org
Signed-off-by: Cássio Gabriel <cassiogabrielcontato@gmail.com>
Reviewed-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link: https://patch.msgid.link/20260521-alsa-firewire-motu-event-locking-v1-1-708e1c2b5e56@gmail.com
2026-05-25 09:19:44 +02:00
..
bebob Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
dice ALSA: firewire: dice: Fix printf warning with W=1 2026-02-28 09:31:13 +01:00
digi00x ALSA: firewire: digi00x: Use guard() for spin locks 2025-08-30 10:02:21 +02:00
fireface ALSA: firewire: fireface: Use guard() for spin locks 2025-08-30 10:02:21 +02:00
fireworks ALSA: fireworks: bound device-supplied status before string array lookup 2026-04-10 14:59:47 +02:00
motu ALSA: firewire-motu: Protect register DSP event queue positions 2026-05-25 09:19:44 +02:00
oxfw ALSA: firewire: oxfw: Use guard() for spin locks 2025-08-30 10:02:27 +02:00
tascam ALSA: firewire-tascam: Do not drop unread control events 2026-05-04 17:47:06 +02:00
Kconfig ALSA: firewire-motu: add support for MOTU 896 mk3 FireWire and Hybrid 2024-01-29 09:04:30 +01:00
Makefile ALSA: firewire: Use *-y instead of *-objs in Makefile 2024-05-08 18:18:03 +02:00
amdtp-am824.c ALSA: firewire-lib: obsolete return value from context payload processing layer 2023-01-12 12:14:50 +01:00
amdtp-am824.h ALSA: firewire-lib/motu: use int type for the value of bitwise OR with enumerator-constant 2021-05-18 12:21:52 +02:00
amdtp-stream-trace.h ALSA: firewire-lib: extend tracepoints event including CYCLE_TIME of 1394 OHCI 2023-01-10 09:34:47 +01:00
amdtp-stream.c ALSA: firewire-lib: fix uninitialized local variable 2026-03-17 09:54:48 +01:00
amdtp-stream.h ALSA: firewire: amdtp-stream: fix enum kernel-doc warnings 2025-10-14 15:12:52 +02:00
cmp.c ALSA: firewire: lib: Use guard() for mutex locks 2025-08-30 10:02:21 +02:00
cmp.h ALSA: firewire: Remove unused cmp_connection_update 2024-10-10 14:22:01 +02:00
fcp.c ALSA: firewire: lib: Use guard() for spin locks 2025-08-30 10:02:27 +02:00
fcp.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
isight.c ALSA: firewire: isight: Use guard() for mutex locks 2025-08-30 10:02:21 +02:00
iso-resources.c ALSA: firewire: lib: Use guard() for spin locks 2025-08-30 10:02:27 +02:00
iso-resources.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
lib.c ALSA: firewire: use 'GPL' string for module license contributed by Clemens Ladisch 2023-06-12 14:39:00 +02:00
lib.h ALSA: firewire-lib: delete unused kernel API 2021-06-07 17:14:54 +02:00
packets-buffer.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
packets-buffer.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00