umber-kernel/sound/pci
Takashi Iwai 873e2360d2 ALSA: ctxfi: Fix potential OOB access in audio mixer handling
commit 61006c540cbdedea83b05577dc7fb7fa18fe1276 upstream.

In the audio mixer handling code of ctxfi driver, the conf field is
used as a kind of loop index, and it's referred in the index callbacks
(amixer_index() and sum_index()).

As spotted recently by fuzzers, the current code causes OOB access at
those functions.
| UBSAN: array-index-out-of-bounds in /build/reproducible-path/linux-6.17.8/sound/pci/ctxfi/ctamixer.c:347:48
| index 8 is out of range for type 'unsigned char [8]'

After the analysis, the cause was found to be the lack of the proper
(re-)initialization of conj field.

This patch addresses those OOB accesses by adding the proper
initializations of the loop indices.

Reported-by: Salvatore Bonaccorso <carnil@debian.org>
Tested-by: Karsten Hohmeier <linux@hohmatik.de>
Closes: https://bugs.debian.org/1121535
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/all/aSk8KJI35H7gFru6@eldamar.lan/
Link: https://patch.msgid.link/20260119133212.189129-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-30 10:32:23 +01:00
..
ac97 ALSA: ac97: Use guard() for spin locks 2025-09-01 13:52:38 +02:00
ali5451 ALSA: ali5451: Use guard() for spin locks 2025-09-01 13:52:38 +02:00
asihpi ALSA: asihpi: Simplify error handling in PCM substream setup 2025-09-15 09:25:47 +02:00
au88x0 ALSA: au88x0: Fix incorrect error handling for PCI config reads 2025-11-17 17:23:52 +01:00
aw2 ALSA: aw2: Use guard() for spin locks 2025-09-01 13:52:39 +02:00
ca0106 ALSA: ca0106: Use guard() for spin locks 2025-09-01 13:52:39 +02:00
cs46xx ALSA: cs46xx: Use guard() for spin locks 2025-09-01 13:52:39 +02:00
cs5535audio ALSA: cs5535audio: Use guard() for spin locks 2025-09-01 13:52:40 +02:00
ctxfi ALSA: ctxfi: Fix potential OOB access in audio mixer handling 2026-01-30 10:32:23 +01:00
echoaudio ALSA: echoaudio: Use guard() for spin locks 2025-09-01 13:52:40 +02:00
emu10k1 ALSA: emu10k1x: Use guard() for spin locks 2025-09-01 13:52:40 +02:00
ice1712 ALSA: ice1712: Use guard() for spin locks 2025-09-01 13:52:41 +02:00
korg1212 ALSA: korg1212: Use guard() for spin locks 2025-09-01 13:52:41 +02:00
lola ALSA: lola: Use guard() for spin locks 2025-09-01 13:52:41 +02:00
lx6464es ALSA: lx6464es: Use guard() for mutex locks 2025-09-01 13:52:41 +02:00
mixart ALSA: mixart: Use guard() for mutex locks 2025-09-01 13:52:41 +02:00
nm256 ALSA: nm256: Use guard() for spin locks 2025-09-01 13:52:42 +02:00
oxygen ALSA: oxygen: Use guard() for spin locks 2025-09-01 13:52:42 +02:00
pcxhr ALSA: pcxhr: Use guard() for mutex locks 2025-09-01 13:52:42 +02:00
riptide
rme9652 ALSA: rme9652: Use guard() for spin locks 2025-09-01 13:52:42 +02:00
trident ALSA: trident: Use guard() for spin locks 2025-09-01 13:52:43 +02:00
vx222 ALSA: vx222: Use guard() for mutex locks 2025-09-01 13:52:43 +02:00
ymfpci ALSA: ymfpci: Use guard() for spin locks 2025-09-01 13:52:43 +02:00
Kconfig
Makefile
ad1889.c ALSA: ad1889: Use guard() for spin locks 2025-09-01 13:52:39 +02:00
ad1889.h
ak4531_codec.c ALSA: ens137x: Use guard() for mutex locks 2025-09-01 13:52:38 +02:00
als300.c ALSA: als300: Use guard() for spin locks 2025-09-01 13:52:38 +02:00
als4000.c ALSA: als4000: Use guard() for spin locks 2025-09-01 13:52:38 +02:00
atiixp.c ALSA: atiixp: Use guard() for spin locks 2025-09-01 13:52:39 +02:00
atiixp_modem.c ALSA: atiixp: Use guard() for spin locks 2025-09-01 13:52:39 +02:00
azt3328.c ALSA: azt3328: Use guard() for spin locks 2025-09-01 13:52:38 +02:00
azt3328.h
bt87x.c ALSA: bt87x: Use guard() for spin locks 2025-09-01 13:52:39 +02:00
cmipci.c ALSA: cmipci: Use guard() for spin locks 2025-09-01 13:52:39 +02:00
cs4281.c ALSA: cs4281: Send the PCM period elapsed notification properly 2025-09-06 19:55:10 +02:00
cs5530.c
ens1370.c ALSA: ens137x: Use guard() for spin locks 2025-09-01 13:52:38 +02:00
ens1371.c
es1938.c ALSA: es1938: Use guard() for spin locks 2025-09-01 13:52:40 +02:00
es1968.c ALSA: es1968: Use guard() for spin locks 2025-09-01 13:52:40 +02:00
fm801.c ALSA: fm801: Use guard() for spin locks 2025-09-01 13:52:41 +02:00
intel8x0.c ALSA: intel8x0: Use guard() for spin locks 2025-09-01 13:52:41 +02:00
intel8x0m.c ALSA: intel8x0: Use guard() for spin locks 2025-09-01 13:52:41 +02:00
maestro3.c ALSA: maestro3: Use guard() for spin locks 2025-09-01 13:52:41 +02:00
rme32.c ALSA: rme32: Fix serialization in snd_rme32_capture_adat_open() 2025-09-03 09:21:58 +02:00
rme96.c ALSA: rme96: Use guard() for spin locks 2025-09-01 13:52:42 +02:00
sis7019.c ALSA: sis7019: Use guard() for spin locks 2025-09-01 13:52:42 +02:00
sis7019.h
sonicvibes.c ALSA: sonicvibes: Use guard() for spin locks 2025-09-01 13:52:42 +02:00
via82xx.c ALSA: via82xx: Use guard() for spin locks 2025-09-01 13:52:43 +02:00
via82xx_modem.c ALSA: via82xx: Use guard() for spin locks 2025-09-01 13:52:43 +02:00