mirror-linux/sound/firewire
Greg Kroah-Hartman 07704bbf36 ALSA: fireworks: bound device-supplied status before string array lookup
The status field in an EFW response is a 32-bit value supplied by the
firewire device.  efr_status_names[] has 17 entries so a status value
outside that range goes off into the weeds when looking at the %s value.

Even worse, the status could return EFR_STATUS_INCOMPLETE which is
0x80000000, and is obviously not in that array of potential strings.

Fix this up by properly bounding the index against the array size and
printing "unknown" if it's not recognized.

Cc: Clemens Ladisch <clemens@ladisch.de>
Cc: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Fixes: bde8a8f23b ("ALSA: fireworks: Add transaction and some commands")
Cc: stable <stable@kernel.org>
Assisted-by: gregkh_clanker_t1000
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Link: https://patch.msgid.link/2026040953-astute-camera-1aa1@gregkh
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2026-04-10 14:59:47 +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 Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
oxfw ALSA: firewire: oxfw: Use guard() for spin locks 2025-08-30 10:02:27 +02:00
tascam ALSA: firewire-tascam: reserve resources for transferred isochronous packets at S400 2025-10-18 12:58:56 +09: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