{
  "finding_id": "DF-5218",
  "title": "dc_sink lifecycle API misused by DM forced-connector paths: stranded refs (permanent sink leak) in emulated_link_detect and release of borrowed refs (premature free / kref UAF write / dc_sink_free double-free) in update_connector_after_detect branch A",
  "verdict": "inconclusive",
  "impact": "kernel heap leak + UAF/double-free (hardware-gated; not exercised at runtime)",
  "confidence": "likely",
  "reproduce": {
    "build": "./build.sh  (cc -O2 -Wall -o ledger_model ledger_model.c)",
    "run": "./run.sh  (ledger_model bug-leak | bug-uaf | fixed)",
    "expected": "see README.md"
  },
  "kernel_refs": [
    "sys/dev/drm/amd/display/dc/core/dc_sink.c:68",
    "sys/dev/drm/amd/display/dc/core/dc_sink.c:85",
    "sys/dev/drm/amd/display/amdgpu_dm/amdgpu_dm.c:741",
    "sys/dev/drm/amd/display/amdgpu_dm/amdgpu_dm.c:754",
    "sys/dev/drm/amd/display/amdgpu_dm/amdgpu_dm.c:810",
    "sys/dev/drm/amd/display/amdgpu_dm/amdgpu_dm.c:993",
    "sys/dev/drm/amd/display/amdgpu_dm/amdgpu_dm.c:995",
    "sys/dev/drm/amd/display/amdgpu_dm/amdgpu_dm.c:1044",
    "sys/dev/drm/amd/display/dc/core/dc_link.c:492",
    "sys/dev/drm/amd/display/dc/core/dc_link.c:902"
  ],
  "artifacts": [
    "README.md", "VERDICT.md", "ledger_model.c", "build.sh", "run.sh",
    "build.log", "run.log", "env.txt", "fix.diff", "manifest.json", "verdict.json"
  ]
}
