DF-4910 / manifest.json
{ "finding_id": "DF-4910", "title": "Unsynchronized aconnector->dc_sink teardown: dm_dp_destroy_mst_connector (lockless destroy work) races dm_dp_mst_get_modes (mode_config.mutex) -> dc_sink leak + dangling dc_sink->priv + deterministic DF-1966 panic after MAX_SINKS_PER_LINK exhaustion", "verdict": "untested", "impact": "none (untested; assessed: dos/leak on AMD MST hardware)", "confidence": "likely", "reproduce": { "build": "cc -O2 -Wall -o mst_race_trigger mst_race_trigger.c", "run": "./run.sh (requires AMD amdgpu-DM GPU + DP MST hub; flap topology while running)", "expected": "after 1-4 races, next monitor connect panics at amdgpu_dm_mst_types.c:243 (dc_sink NULL) with all 4 remote_sink slots leaked; on this guest: NO_AMD_PCI_DEVICE / NO_DEV_DRI (path unreachable)" }, "kernel_refs": [ "sys/dev/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c:232-244", "sys/dev/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c:386-397", "sys/dev/drm/drm_dp_mst_topology.c:3093-3132", "sys/dev/drm/drm_probe_helper.c:400", "sys/dev/drm/drm_connector.c:1734-1763", "sys/dev/drm/amd/display/dc/core/dc.c:1750-1847", "sys/dev/drm/amd/display/dc/dc.h:45" ], "artifacts": [ "README.md", "VERDICT.md", "mst_race_trigger.c", "build.sh", "run.sh", "run.log", "env.txt", "fix.diff", "verdict.json", "manifest.json" ] } |