Description
In the Linux kernel, the following vulnerability has been resolved: ALSA: mtpav: shut down output timer before card teardown snd_mtpav_output_timer() rearms chip->timer while holding chip->spinlock and accesses the card-private mtpav state. snd_mtpav_free() currently takes the same lock and calls timer_delete() when the timer is active. This only removes a pending timer; it does not wait for a callback that is already running and does not prevent the callback from rearming the timer. A callback running on another CPU can therefore continue after snd_mtpav_free() releases the lock and access the card-private state while the card is being torn down. It can also rearm the timer after timer_delete() has returned. Call timer_shutdown_sync() without holding chip->spinlock. This waits for any running callback to finish and prevents further rearming before the card-private mtpav state is released.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 793163e134028e7136c9dd9e30f7f656de1eabbaaffected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < de75857ce374671712e1d9528844e3c0543dcef6affected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 392c985c6b03dfdf4904c0d464f18735ca3c4df8affected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 1e16e82581521a2fe20eda29bdc9e75286f7c950affected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < c73cb5b7c159246dd572277c668851a56e516019affected
Linux Linux
Default version status: affected
2.6.12affected0 to < 2.6.12unaffected6.6.160 to ≤ 6.6.*unaffected6.12.114 to ≤ 6.12.*unaffected6.18.52 to ≤ 6.18.*unaffected7.2.6 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/793163e134028e7136c9dd9e30f7f656de1eabba ↗
- https://git.kernel.org/stable/c/de75857ce374671712e1d9528844e3c0543dcef6 ↗
- https://git.kernel.org/stable/c/392c985c6b03dfdf4904c0d464f18735ca3c4df8 ↗
- https://git.kernel.org/stable/c/1e16e82581521a2fe20eda29bdc9e75286f7c950 ↗
- https://git.kernel.org/stable/c/c73cb5b7c159246dd572277c668851a56e516019 ↗