DF-3883
mst_primary NULL dereference race in drm_dp_mst_handle_up_req (send_up_ack_reply without lock or NULL check)
Summary
handle_up_req calls drm_dp_send_up_ack_reply(mgr, mgr->mst_primary, ...) reading mgr->mst_primary without mgr->lock; topology_mgr_set_mst(false) NULLs it under the lock during unplug. A CONNECTION_STATUS/RESOURCE_STATUS notify racing MST teardown passes NULL as txmsg->dst, and set_hdr_from_dst_qlock dereferences mstb->lct/tx_slots at NULL+offset -> kernel panic. Compare drm_dp_get_mst_branch_device which does check. Malicious hub or unplug timing: NULL-deref panic. Lock+kref+NULL-check fix.
Discussion (0)
PoC verification
Evidence pack
findings/poc/DF-3883 Β· 1 files| File | Type | Description | Size | |
|---|---|---|---|---|
| verdict.json | file | 341 B | view raw |
Confirmed kernel references
β
Detail
Evidence (decisive lines)
β
Verdict
Low - PoC skipped per contract (hardware-gated; race timing). Source trace in finding text; fix authored.
No comments yet.