DF-4589 / manifest.json
{ "finding_id": "DF-4589", "file": "sys/dev/drm/radeon/atombios_dp.c", "verdict": "not_reproduced", "impact": "none (hardware-gated; ceiling: unkillable task + display-subsystem DoS)", "reproduce": { "build": "guest: cc -Wall -Wextra -o trigger trigger.c (documented sink state machine; compiles clean on guest DragonFly)", "run": "./run.sh [guest probe]; real trigger needs radeon GPU + crafted DP sink (trigger.c) + any modeset", "expected": "vulnerable: issuing task spins forever in radeon_dp_link_train_cr holding mode_config.mutex, unkillable, all DRM ioctls on the card block; patched: loop exits after 50 iterations with 'clock recovery exceeded max loop attempts' + 'clock recovery failed'" }, "kernel_refs": [ "sys/dev/drm/radeon/atombios_dp.c:684", "sys/dev/drm/radeon/atombios_dp.c:707", "sys/dev/drm/radeon/atombios_dp.c:713", "sys/dev/drm/radeon/atombios_dp.c:762", "sys/dev/drm/drm_dp_helper.c:121", "sys/dev/drm/radeon/atombios_encoders.c:1777" ], "artifacts": [ "README.md", "VERDICT.md", "trigger.c", "run.sh", "run.log", "build.log", "env.txt", "guest_probe.log", "fix.diff", "manifest.json", "verdict.json" ] } |