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 xhcifreestreams()
When a USB device with active stream endpoints is disconnected, xhcifreestreams() is called from the hubevent workqueue to free the stream resources. It calls xhcifreestreaminfo() while holding xhci->lock with irqs disabled.
xhcifreestreaminfo() invokes xhcifreestreamctx(), which calls dmafreecoherent() for large stream context arrays.
dmafreecoherent() can sleep (e.g. via vunmap), triggering a BUG when called from atomic context.
Call trace: dmafreeattrs+0x174/0x220 xhcifreestreaminfo+0xd0/0x11c xhcifreestreams+0x278/0x37c usbfreestreams+0x98/0xc0 usbunbindinterface+0x1b8/0x2f8 devicereleasedriverinternal+0x1d4/0x2cc devicereleasedriver+0x18/0x28 busremovedevice+0x160/0x1a4 devicedel+0x1ec/0x350 usbdisabledevice+0x98/0x214 usbdisconnect+0xf0/0x35c hubevent+0xab4/0x19ec processonework+0x278/0x63c
Fix this by saving the streaminfo pointers and clearing the ep references under the lock, then calling xhcifreestreaminfo() outside the lock where sleeping is allowed.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 6.6.145.2-1 - Configuration
Apply the upstream Linux kernel fix for 'usb: xhci: Fix sleep in atomic context in xhci_free_streams()' by saving the stream_info pointers and clearing/freeing the stream resources outside the lock (so xhci_free_stream_ctx()/xhci_free_stream_info() does not call dma_free_coherent() in atomic context).
Linux kernel (USB xHCI) fix sleep-in-atomic-context in xhci_free_streams()/xhci_free_stream_info() = implemented
Event History
Frequently Asked Questions
What is the severity of CVE-2026-64465?
CVE-2026-64465 has a risk rating of 27, indicating a medium severity vulnerability.
How do I fix CVE-2026-64465?
The vulnerability in CVE-2026-64465 is fixed in the latest updates of the Linux kernel, so updating to the patched version is recommended.
What are the impacts of CVE-2026-64465?
CVE-2026-64465 can lead to potential stability issues in the Linux kernel when handling USB devices with active stream endpoints.
Is CVE-2026-64465 a local or remote vulnerability?
CVE-2026-64465 can be exploited through local access by manipulating USB device connections.
Which Linux kernel versions are affected by CVE-2026-64465?
CVE-2026-64465 affects specific versions of the Linux kernel prior to applying the fix implemented on July 25, 2026.