CVE-2026-64465
usb: xhci: Fix sleep in atomic context in xhci_free_streams()
In the Linux kernel, the following vulnerability has been resolved: usb: xhci: Fix sleep in atomic context in xhci_free_streams() When a USB device with active stream endpoints is disconnected, xhci_free_streams() is called from the hub_event workqueue to free the stream resources. It calls xhci_free_stream_info() while holding xhci->lock with irqs disabled. xhci_free_stream_info() invokes xhci_free_stream_ctx(), which calls dma_free_coherent() for large stream context arrays. dma_free_coherent() can sleep (e.g. via vunmap), triggering a BUG when called from atomic context. Call trace: dma_free_attrs+0x174/0x220 xhci_free_stream_info+0xd0/0x11c xhci_free_streams+0x278/0x37c usb_free_streams+0x98/0xc0 usb_unbind_interface+0x1b8/0x2f8 device_release_driver_internal+0x1d4/0x2cc device_release_driver+0x18/0x28 bus_remove_device+0x160/0x1a4 device_del+0x1ec/0x350 usb_disable_device+0x98/0x214 usb_disconnect+0xf0/0x35c hub_event+0xab4/0x19ec process_one_work+0x278/0x63c Fix this by saving the stream_info pointers and clearing the ep references under the lock, then calling xhci_free_stream_info() outside the lock where sleeping is allowed.
Fixes and workarounds
Fix
The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches.
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67Fix
The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches.
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67Fix
The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches.
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67Fix
The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches.
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67Fix
The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches.
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67Fix
The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches.
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67Fix
The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches.
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67Fix
The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches.
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67Affected products and versions
| Product | Versions | Authority |
|---|---|---|
| Linux Linux |
≥ 8df75f42f8e67e2851cdcf6da91640fb881defd1; < e623e4a203f56d5c57519a9a3cb29600551534ad (affected, git) ≥ 8df75f42f8e67e2851cdcf6da91640fb881defd1; < d107eb316144c5fb958486e7fe604cd7f1b35cda (affected, git) ≥ 8df75f42f8e67e2851cdcf6da91640fb881defd1; < 1e45aa722c4ce5663e987102aac18c8ad6a83fdd (affected, git) ≥ 8df75f42f8e67e2851cdcf6da91640fb881defd1; < 10666ac9c552990204e791af653abf8e9d9ff619 (affected, git) ≥ 8df75f42f8e67e2851cdcf6da91640fb881defd1; < f7b022ae07685e7526fc39f387ce65b5d309dd3b (affected, git) ≥ 8df75f42f8e67e2851cdcf6da91640fb881defd1; < f90586129cf9e1fbdb718ef602eea3f15dc1c31c (affected, git) ≥ 8df75f42f8e67e2851cdcf6da91640fb881defd1; < 93cd037da94fcb93183bfb2457e3a56d3eb4c8f4 (affected, git) ≥ 8df75f42f8e67e2851cdcf6da91640fb881defd1; < 42c37c4b75d38b51d84f31a8e29427f5e06a7c2a (affected, git) Other versions: unaffected |
CNA: Linux |
| Linux Linux |
2.6.35 (affected) ≥ 0; < 2.6.35 (unaffected, semver) ≥ 5.10.261; ≤ 5.10.* (unaffected, semver) ≥ 5.15.212; ≤ 5.15.* (unaffected, semver) ≥ 6.1.178; ≤ 6.1.* (unaffected, semver) ≥ 6.6.145; ≤ 6.6.* (unaffected, semver) ≥ 6.12.96; ≤ 6.12.* (unaffected, semver) ≥ 6.18.39; ≤ 6.18.* (unaffected, semver) ≥ 7.1.4; ≤ 7.1.* (unaffected, semver) ≥ 7.2; ≤ * (unaffected, original_commit_for_fix) Other versions: affected |
CNA: Linux |
Version ranges are source assertions. Check the vendor advisory and your installed configuration before determining exposure.
NVD applicability configurations (1)
These expressions retain AND/OR operators, negation, and required environmental products. A listed product is not sufficient to establish exposure when additional conditions apply.
[
{
"negate": false,
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.10.261",
"versionStartIncluding": "2.6.35",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.15.212",
"versionStartIncluding": "5.11",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.1.178",
"versionStartIncluding": "5.16",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.6.145",
"versionStartIncluding": "6.2",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.12.96",
"versionStartIncluding": "6.7",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.18.39",
"versionStartIncluding": "6.13",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.1.4",
"versionStartIncluding": "6.19",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:7.2:rc1:*:*:*:*:*:*",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:7.2:rc2:*:*:*:*:*:*",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
],
"operator": "OR"
}
]CVSS assessments
| Version / score | Vector | Authority |
|---|---|---|
| 3.1 / 5.5 medium |
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H | NVD: [email protected] |
Exploit evidence
No exploit evidence in collected sources. This is not proof of no exploitation.
References
- https://git.kernel.org/stable/c/e623e4a203f56d5c57519a9a3cb29600551534adCNA: Linux
- https://git.kernel.org/stable/c/d107eb316144c5fb958486e7fe604cd7f1b35cdaCNA: Linux
- https://git.kernel.org/stable/c/1e45aa722c4ce5663e987102aac18c8ad6a83fddCNA: Linux
- https://git.kernel.org/stable/c/10666ac9c552990204e791af653abf8e9d9ff619CNA: Linux
- https://git.kernel.org/stable/c/f7b022ae07685e7526fc39f387ce65b5d309dd3bCNA: Linux
- https://git.kernel.org/stable/c/f90586129cf9e1fbdb718ef602eea3f15dc1c31cCNA: Linux
- https://git.kernel.org/stable/c/93cd037da94fcb93183bfb2457e3a56d3eb4c8f4CNA: Linux
- https://git.kernel.org/stable/c/42c37c4b75d38b51d84f31a8e29427f5e06a7c2aCNA: Linux
- https://git.kernel.org/stable/c/10666ac9c552990204e791af653abf8e9d9ff619416baaa9-dc9f-4396-8d5f-8c081fb06d67 · Patch
- https://git.kernel.org/stable/c/1e45aa722c4ce5663e987102aac18c8ad6a83fdd416baaa9-dc9f-4396-8d5f-8c081fb06d67 · Patch
- https://git.kernel.org/stable/c/42c37c4b75d38b51d84f31a8e29427f5e06a7c2a416baaa9-dc9f-4396-8d5f-8c081fb06d67 · Patch
- https://git.kernel.org/stable/c/93cd037da94fcb93183bfb2457e3a56d3eb4c8f4416baaa9-dc9f-4396-8d5f-8c081fb06d67 · Patch
- https://git.kernel.org/stable/c/d107eb316144c5fb958486e7fe604cd7f1b35cda416baaa9-dc9f-4396-8d5f-8c081fb06d67 · Patch
- https://git.kernel.org/stable/c/e623e4a203f56d5c57519a9a3cb29600551534ad416baaa9-dc9f-4396-8d5f-8c081fb06d67 · Patch
- https://git.kernel.org/stable/c/f7b022ae07685e7526fc39f387ce65b5d309dd3b416baaa9-dc9f-4396-8d5f-8c081fb06d67 · Patch
- https://git.kernel.org/stable/c/f90586129cf9e1fbdb718ef602eea3f15dc1c31c416baaa9-dc9f-4396-8d5f-8c081fb06d67 · Patch
For agents and automation
Read public disclosures for free as Markdown or JSON. Compatible browsers also expose native WebMCP tools to search disclosures, read this page, and discover API access.
Use the ontology-linked Cyber API with x402 pay per request, or a Y2 Pro or Elite API key with the intel:cyber scope.
Endpoints and access details
https://api.y2.dev/api/v2/cyber/cveshttps://api.y2.dev/api/v2/cyber/cves/{cveId}
A workspace owner or admin can create a Pro or Elite API key. Send Authorization: Bearer <Y2_API_KEY> from your trusted agent runtime.
For x402, omit Authorization and read the HTTP 402 payment challenge before signing a retry. Public browser tools do not make payments.