DF-5751
l2cap_connect() failure paths after l2cap_cid_alloc() leak the CID and leave the half-open channel on l2cap_active_list: socket bricked with EISCONN until close, CID space consumed
Summary
Both post-alloc failure exits (EHOSTUNREACH and the fail: label) reset state and drop the link reference but never release the CID or remove the channel from the active list: the socket returns EISCONN for every subsequent connect until closed, and the CID stays consumed (65471-CID space pressure across sockets). Needs an hci_unit to reach (no Bluetooth hardware in the rig - code-path certainty, honestly untested). CID-rollback fix (mirroring l2cap_detach).
Discussion (0)
PoC verification
Evidence pack
findings/poc/DF-5751 Β· 1 files| File | Type | Description | Size | |
|---|---|---|---|---|
| verdict.json | file | 992 B | view raw |
Fix verification
not_testablebaseline noβ patch + rebuild βpatched clean
per-fix-DF-5751
Confirmed kernel references
Detail
Evidence (decisive lines)
static path trace
Verified recommended fix
release the CID on both post-alloc failure exits
Verdict
untested (needs an hci_unit - no Bluetooth hardware in the rig; code-path certainty from 166-201 + 212-213)
No comments yet.