Answer in brief
CVE-2026-64454 records a Unknown severity vulnerability in usb: dwc3: run gadget disconnect from sleepable suspend context. The current sources do not mark it as known exploited. The current feed maps Linux/Linux (generic), Linux/Linux (generic). Check affected ranges and fixed versions before updating.
Analysis pending evidence review
HOL Guard separates source facts from reviewed analysis. See the methodology.
Answer in brief
CVE-2026-64454 records a Unknown severity vulnerability in usb: dwc3: run gadget disconnect from sleepable suspend context. The current sources do not mark it as known exploited. The current feed maps Linux/Linux (generic), Linux/Linux (generic). Check affected ranges and fixed versions before updating.
Analysis pending evidence review
HOL Guard separates source facts from reviewed analysis. See the methodology.
A CVSS score is not reported in the current record. The current sources do not mark it as known exploited. Treat this as a source-backed prioritization signal, not a statement about your environment.
Analysis status
Analysis pending evidence review
Factual feed record only; HOL analysis is not approved for indexing. Read the methodology.
The current feed maps Linux/Linux (generic), Linux/Linux (generic). Check affected ranges and fixed versions before updating.
| Package | Affected range | Fixed version |
|---|---|---|
| Linux/Linuxgeneric | >=20351ddb1f41cfb3ae20e105425ef43a28393d76 <b399be2958456efe1b64b19c55a54a24e9035769 || >=ad43004fd5326bec4466ecc8a07fe0e570b553ca <48958478cb8dbc429a5b19f36e866b63d6297d1d || >=c8540870af4ce6ddeb27a7bb5498b75fb29b643c <5e5798880eb1533a7de6fb68eb14b2d8202ebf76 || >=c8540870af4ce6ddeb27a7bb5498b75fb29b643c <e0e4f15d4225fb7156cc0e3c21eb8953114f9b89 || >=c8540870af4ce6ddeb27a7bb5498b75fb29b643c <c4e232bd07fe2b69a6e5c380db41dd36b95e0524 || >=c8540870af4ce6ddeb27a7bb5498b75fb29b643c <642e04f5c292d04070ae6e4374fbf14cc40a2465 || >=c8540870af4ce6ddeb27a7bb5498b75fb29b643c <010382937fb69892b3469ac4d30af072262f59e8 || 06684c72b6b153dc434bb6ccebbb49f4cd812b5e || >=5.15.128 <5.15.212 || >=6.1.30 <6.1.178 || >=6.3.4 <6.4 | b399be2958456efe1b64b19c55a54a24e9035769, 48958478cb8dbc429a5b19f36e866b63d6297d1d, 5e5798880eb1533a7de6fb68eb14b2d8202ebf76, e0e4f15d4225fb7156cc0e3c21eb8953114f9b89, c4e232bd07fe2b69a6e5c380db41dd36b95e0524, 642e04f5c292d04070ae6e4374fbf14cc40a2465, 010382937fb69892b3469ac4d30af072262f59e8, 5.15.212, 6.1.178, 6.4 |
| Linux/Linuxgeneric | 6.4 | Not reported |
Published upstream
Jul 25, 2026
Evidence: source:cvelist:source_dates:source-dates:recordSource modified
Aug 17, 2026
Evidence: source:cvelist:source_dates:source-dates:recordFirst seen by HOL
Aug 17, 2026
In the Linux kernel, the following vulnerability has been resolved: usb: dwc3: run gadget disconnect from sleepable suspend context dwc3_gadget_suspend() takes dwc->lock with IRQs disabled and then calls dwc3_disconnect_gadget(). For async callbacks that helper only uses plain spin_unlock()/spin_lock(), so the gadget ->disconnect() callback still runs with IRQs disabled and any sleepable callback trips Lockdep. This issue was found by our static analysis tool and then manually reviewed against the current tree. The grounded PoC kept the dwc3_gadget_suspend() -> dwc3_disconnect_gadget() -> gadget_driver->disconnect() chain, and Lockdep reported: BUG: sleeping function called from invalid context gadget_disconnect+0x21/0x39 [vuln_msv] dwc3_gadget_suspend.constprop.0+0x2b/0x42 [vuln_msv] Keep the disconnect callback selection in one common helper, but add a sleepable suspend-side wrapper which snapshots the callback under dwc->lock and then runs it after spin_unlock_irqrestore(). The regular event path still uses the existing spin_unlock()/spin_lock() window.
Quoted source text, attributed separately from HOL analysis.
A CVSS score is not reported in the current record. The current sources do not mark it as known exploited. Treat this as a source-backed prioritization signal, not a statement about your environment.
Analysis status
Analysis pending evidence review
Factual feed record only; HOL analysis is not approved for indexing. Read the methodology.
The current feed maps Linux/Linux (generic), Linux/Linux (generic). Check affected ranges and fixed versions before updating.
| Package | Affected range | Fixed version |
|---|---|---|
| Linux/Linuxgeneric | >=20351ddb1f41cfb3ae20e105425ef43a28393d76 <b399be2958456efe1b64b19c55a54a24e9035769 || >=ad43004fd5326bec4466ecc8a07fe0e570b553ca <48958478cb8dbc429a5b19f36e866b63d6297d1d || >=c8540870af4ce6ddeb27a7bb5498b75fb29b643c <5e5798880eb1533a7de6fb68eb14b2d8202ebf76 || >=c8540870af4ce6ddeb27a7bb5498b75fb29b643c <e0e4f15d4225fb7156cc0e3c21eb8953114f9b89 || >=c8540870af4ce6ddeb27a7bb5498b75fb29b643c <c4e232bd07fe2b69a6e5c380db41dd36b95e0524 || >=c8540870af4ce6ddeb27a7bb5498b75fb29b643c <642e04f5c292d04070ae6e4374fbf14cc40a2465 || >=c8540870af4ce6ddeb27a7bb5498b75fb29b643c <010382937fb69892b3469ac4d30af072262f59e8 || 06684c72b6b153dc434bb6ccebbb49f4cd812b5e || >=5.15.128 <5.15.212 || >=6.1.30 <6.1.178 || >=6.3.4 <6.4 | b399be2958456efe1b64b19c55a54a24e9035769, 48958478cb8dbc429a5b19f36e866b63d6297d1d, 5e5798880eb1533a7de6fb68eb14b2d8202ebf76, e0e4f15d4225fb7156cc0e3c21eb8953114f9b89, c4e232bd07fe2b69a6e5c380db41dd36b95e0524, 642e04f5c292d04070ae6e4374fbf14cc40a2465, 010382937fb69892b3469ac4d30af072262f59e8, 5.15.212, 6.1.178, 6.4 |
| Linux/Linuxgeneric | 6.4 | Not reported |
Published upstream
Jul 25, 2026
Evidence: source:cvelist:source_dates:source-dates:recordSource modified
Aug 17, 2026
Evidence: source:cvelist:source_dates:source-dates:recordFirst seen by HOL
Aug 17, 2026
In the Linux kernel, the following vulnerability has been resolved: usb: dwc3: run gadget disconnect from sleepable suspend context dwc3_gadget_suspend() takes dwc->lock with IRQs disabled and then calls dwc3_disconnect_gadget(). For async callbacks that helper only uses plain spin_unlock()/spin_lock(), so the gadget ->disconnect() callback still runs with IRQs disabled and any sleepable callback trips Lockdep. This issue was found by our static analysis tool and then manually reviewed against the current tree. The grounded PoC kept the dwc3_gadget_suspend() -> dwc3_disconnect_gadget() -> gadget_driver->disconnect() chain, and Lockdep reported: BUG: sleeping function called from invalid context gadget_disconnect+0x21/0x39 [vuln_msv] dwc3_gadget_suspend.constprop.0+0x2b/0x42 [vuln_msv] Keep the disconnect callback selection in one common helper, but add a sleepable suspend-side wrapper which snapshots the callback under dwc->lock and then runs it after spin_unlock_irqrestore(). The regular event path still uses the existing spin_unlock()/spin_lock() window.
Quoted source text, attributed separately from HOL analysis.