7.8

CVE-2026-89979

ALSA: pcm: Fix race between non-atomic ops and trigger-start

In the Linux kernel, the following vulnerability has been resolved:

ALSA: pcm: Fix race between non-atomic ops and trigger-start

We protect the races of the concurrent state transitions between
atomic PCM ops, but the checks between the non-atomic ops (hw_params,
hw_free and prepare) and the atomic ops aren't perfect; there is a
check of the conflicting PCM state at the beginning of hw_params & co,
but the atomic PCM ops can be still issued during the non-atomic PCM
operations.  An example such scenario is that a thread A re-issues the
PREPARE or HW_PARAMS for the already prepared stream, while another
thread B triggers the PCM start in the middle of the prepare
operation.  Although this usually doesn't lead to much serious issues,
it can give some inconsistency as reported by syzkaller (such as
ODEBUG warning).

There are various atomic PCM ops, and basically the only problem is
the PCM start as it operates from the PREPARED state.  Other trigger
commands (stop, etc) are for the running or the other special state,
hence they are filtered as pre-condition.

This patch is for preventing the PCM trigger-start during the non-
atomic operations in order to address the problems above.
Fortunately, the hw_params, hw_free and prepare operations call
snd_pcm_buffer_access_lock(), and this can be used for checking the
concurrent operations at the PCM trigger -- which sets the
runtime->buffer_accessing to a negative (if possible), so the PCM
trigger just needs to check the runtime->buffer_accessing value; if
it's negative, it means the concurrent non-atomic PCM ops is running.
Daten sind bereitgestellt durch das CVE Programm von einer CVE Numbering Authority (CNA) (Unstrukturiert).
HerstellerLinux
≫
Produkt Linux
Default Statusunaffected
Version 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
Version < b1d12144557fceed5de6e22e2c2e30a40ed37702
Status affected
Version 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
Version < b2edc017f94c08bdd0b046a586e43ac771a2f942
Status affected
Version 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
Version < b599e7f16441386754ec083fa62a549bccb02fca
Status affected
Version 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
Version < ad29779736cfd6f5595f0cab300dd7611418e363
Status affected
Version 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
Version < 5abeb4f9f2023f001d693b4e5e1ebbf25e25d0eb
Status affected
Version 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
Version < 7ad2ea7c10044b08ecf7b04376916faf12e17a99
Status affected
Version 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
Version < 50afadf1ea66597116eb14e73c24da7ae99b759f
Status affected
Version 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
Version < acac7b5e07349a9d10d78873afb4b93cd1dc721f
Status affected
HerstellerLinux
≫
Produkt Linux
Default Statusaffected
Version 2.6.12
Status affected
Version 0
Version < 2.6.12
Status unaffected
Version <= 5.10.*
Version 5.10.270
Status unaffected
Version <= 5.15.*
Version 5.15.221
Status unaffected
Version <= 6.1.*
Version 6.1.188
Status unaffected
Version <= 6.6.*
Version 6.6.157
Status unaffected
Version <= 6.12.*
Version 6.12.110
Status unaffected
Version <= 6.18.*
Version 6.18.51
Status unaffected
Version <= 7.2.*
Version 7.2.5
Status unaffected
Version <= *
Version 7.3-rc2
Status unaffected
VulnDex Vulnerability Enrichment
Diese Information steht angemeldeten Benutzern zur Verfügung. Login Login
Zu dieser CVE wurde keine Warnung gefunden.
EPSS Metriken
Typ Quelle Score Percentile
EPSS FIRST.org 0.16% 0.061
CVSS Metriken
Quelle Base Score Exploit Score Impact Score Vector String
416baaa9-dc9f-4396-8d5f-8c081fb06d67 7.8 1.8 5.9
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Es wurden noch keine Informationen zu CWE veröffentlicht.
https://git.kernel.org/stable/c/b1d12144557fceed5de6e22e2c2e30a40ed37702
https://git.kernel.org/stable/c/b2edc017f94c08bdd0b046a586e43ac771a2f942
https://git.kernel.org/stable/c/b599e7f16441386754ec083fa62a549bccb02fca
https://git.kernel.org/stable/c/ad29779736cfd6f5595f0cab300dd7611418e363
https://git.kernel.org/stable/c/5abeb4f9f2023f001d693b4e5e1ebbf25e25d0eb
https://git.kernel.org/stable/c/7ad2ea7c10044b08ecf7b04376916faf12e17a99
https://git.kernel.org/stable/c/50afadf1ea66597116eb14e73c24da7ae99b759f
https://git.kernel.org/stable/c/acac7b5e07349a9d10d78873afb4b93cd1dc721f