Description
In the Linux kernel, the following vulnerability has been resolved: ALSA: us122l: Use snd_card_free_when_closed() at disconnection The USB disconnect callback is supposed to be short and not too-long waiting. OTOH, the current code uses snd_card_free() at disconnection, but this waits for the close of all used fds, hence it can take long. It eventually blocks the upper layer USB ioctls, which may trigger a soft lockup. An easy workaround is to replace snd_card_free() with snd_card_free_when_closed(). This variant returns immediately while the release of resources is done asynchronously by the card device release at the last close. The loop of us122l->mmap_count check is dropped as well. The check is useless for the asynchronous operation with *_when_closed().
Product status
030a07e441296c372f946cd4065b5d831d8dc40c (git) before 020cbc4d7414f0962004213e2b7bc5cc607e9ec7
030a07e441296c372f946cd4065b5d831d8dc40c (git) before 75f418b249d84021865eaa59515d3ed9b75ce4d6
030a07e441296c372f946cd4065b5d831d8dc40c (git) before bf0aa35a7cb8602cccf2387712114e836f65c154
030a07e441296c372f946cd4065b5d831d8dc40c (git) before 9a48bd2184b142c92a4e17eac074c61fcf975bc9
030a07e441296c372f946cd4065b5d831d8dc40c (git) before bc778ad3e495333eebda36fe91d5b2c93109cc16
030a07e441296c372f946cd4065b5d831d8dc40c (git) before 2938dd2648522336133c151dd67bb9bf01cbd390
030a07e441296c372f946cd4065b5d831d8dc40c (git) before 9b27924dc8d7f8a8c35e521287d4ccb9a006e597
030a07e441296c372f946cd4065b5d831d8dc40c (git) before 9d5c530e4d70f64b1114f2cc29ac690ba7ac4a38
030a07e441296c372f946cd4065b5d831d8dc40c (git) before b7df09bb348016943f56b09dcaafe221e3f73947
2.6.28
Any version before 2.6.28
4.19.325 (semver)
5.4.287 (semver)
5.10.231 (semver)
5.15.174 (semver)
6.1.120 (semver)
6.6.64 (semver)
6.11.11 (semver)
6.12.2 (semver)
6.13 (original_commit_for_fix)
References
lists.debian.org/debian-lts-announce/2025/03/msg00001.html
lists.debian.org/debian-lts-announce/2025/03/msg00002.html
git.kernel.org/...c/020cbc4d7414f0962004213e2b7bc5cc607e9ec7
git.kernel.org/...c/75f418b249d84021865eaa59515d3ed9b75ce4d6
git.kernel.org/...c/bf0aa35a7cb8602cccf2387712114e836f65c154
git.kernel.org/...c/9a48bd2184b142c92a4e17eac074c61fcf975bc9
git.kernel.org/...c/bc778ad3e495333eebda36fe91d5b2c93109cc16
git.kernel.org/...c/2938dd2648522336133c151dd67bb9bf01cbd390
git.kernel.org/...c/9b27924dc8d7f8a8c35e521287d4ccb9a006e597
git.kernel.org/...c/9d5c530e4d70f64b1114f2cc29ac690ba7ac4a38
git.kernel.org/...c/b7df09bb348016943f56b09dcaafe221e3f73947