CVE-2026-68429
drm/dp_mst: Handle torn-down topology gracefully in drm_dp_mst_topology_queue_probe()
Description
In the Linux kernel, the following vulnerability has been resolved: drm/dp_mst: Handle torn-down topology gracefully in drm_dp_mst_topology_queue_probe() A hotplug or link-loss event can tear down the MST topology (setting mgr->mst_state = false and mgr->mst_primary = NULL) concurrently with a caller invoking drm_dp_mst_topology_queue_probe(). Since the check is already performed under mgr->lock, the condition is not a programming error but a valid race -- the topology was valid when the caller decided to call this function, but was torn down before the lock was acquired. Replace the drm_WARN_ON() with a graceful early return. This eliminates spurious kernel warnings and the resulting compositor crashes observed when connecting/disconnecting DP MST monitors, while keeping the correct behavior of doing nothing when MST is not active. A drm_dbg_mst() trace is added so the skipped probe remains observable under MST debug logging. The existing WARN_ON(mgr->mst_primary) in drm_dp_mst_topology_mgr_set_mst() already catches the case where the topology is initialized twice, so no diagnostic coverage is lost.
Affected products and versions
2| Product | Source | Version range | Status |
|---|---|---|---|
LinuxBrowse Linux / LinuxDefault status: unaffected, affected | CVE List | 5f57a96e92c60f62da91d58ceb5e5acd40e7d594 to < b1d05cc61dfa6c4bd5e67855bec6a03e955f512d | affected |
| dbaeef363ea54f4c18112874b77503c72ba60fec to < 4ed6d08c4a59ee6a8cb806347f6d9873de5d229e | affected | ||
| dbaeef363ea54f4c18112874b77503c72ba60fec to < 8c6d84a54823cd839e6ce22af559925f1320c310 | affected | ||
| dbaeef363ea54f4c18112874b77503c72ba60fec to < afdff9103818656627920c21822e48a6dae2906f | affected | ||
| dbaeef363ea54f4c18112874b77503c72ba60fec to < 613059875958e7b217b250ed14c3b189f9488421 | affected | ||
| 6.6.86 to < 6.6.148 | affected | ||
| 6.12 | affected | ||
| Before 6.12 | unaffected | ||
| 6.6.148 to ≤ 6.6.* | unaffected | ||
| 6.12.101 to ≤ 6.12.* | unaffected | ||
| 6.18.42 to ≤ 6.18.* | unaffected | ||
| 7.1.6 to ≤ 7.1.* | unaffected | ||
| Showing 12 of 13 version ranges | |||
KernelBrowse Linux / Kernel | OSV | Before 6.6.148 · Fixed in 6.6.148 | affected |
| 6.7.0 to < 6.12.101 · Fixed in 6.12.101 | affected | ||
| 6.12.0 to < 6.18.42 · Fixed in 6.18.42 | affected | ||
| 6.13.0 to < 7.1.6 · Fixed in 7.1.6 | affected | ||