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().
Metrics
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HWeakness enumeration
Affected software
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | >= 030a07e441296c372f946cd4065b5d831d8dc40c, < 020cbc4d7414f0962004213e2b7bc5cc607e9ec7; >= 030a07e441296c372f946cd4065b5d831d8dc40c, < 75f418b249d84021865eaa59515d3ed9b75ce4d6; >= 030a07e441296c372f946cd4065b5d831d8dc40c, < bf0aa35a7cb8602cccf2387712114e836f65c154; >= 030a07e441296c372f946cd4065b5d831d8dc40c, < 9a48bd2184b142c92a4e17eac074c61fcf975bc9; >= 030a07e441296c372f946cd4065b5d831d8dc40c, < bc778ad3e495333eebda36fe91d5b2c93109cc16; >= 030a07e441296c372f946cd4065b5d831d8dc40c, < 2938dd2648522336133c151dd67bb9bf01cbd390; >= 030a07e441296c372f946cd4065b5d831d8dc40c, < 9b27924dc8d7f8a8c35e521287d4ccb9a006e597; >= 030a07e441296c372f946cd4065b5d831d8dc40c, < 9d5c530e4d70f64b1114f2cc29ac690ba7ac4a38; >= 030a07e441296c372f946cd4065b5d831d8dc40c, < b7df09bb348016943f56b09dcaafe221e3f73947 |
| Linux | Linux | 2.6.28 |
References
- https://git.kernel.org/stable/c/020cbc4d7414f0962004213e2b7bc5cc607e9ec7Patch
- https://git.kernel.org/stable/c/2938dd2648522336133c151dd67bb9bf01cbd390Patch
- https://git.kernel.org/stable/c/75f418b249d84021865eaa59515d3ed9b75ce4d6Patch
- https://git.kernel.org/stable/c/9a48bd2184b142c92a4e17eac074c61fcf975bc9Patch
- https://git.kernel.org/stable/c/9b27924dc8d7f8a8c35e521287d4ccb9a006e597Patch
- https://git.kernel.org/stable/c/9d5c530e4d70f64b1114f2cc29ac690ba7ac4a38Patch
- https://git.kernel.org/stable/c/b7df09bb348016943f56b09dcaafe221e3f73947Patch
- https://git.kernel.org/stable/c/bc778ad3e495333eebda36fe91d5b2c93109cc16Patch
- https://git.kernel.org/stable/c/bf0aa35a7cb8602cccf2387712114e836f65c154Patch
- https://lists.debian.org/debian-lts-announce/2025/03/msg00001.html
- https://lists.debian.org/debian-lts-announce/2025/03/msg00002.html
Timeline
- Published
- Dec 27, 2024
- Last modified
- Jun 17, 2026
- NVD status
- Modified