⬢ DragonFlyBSD Kernel Audit
DF-4164 / manifest.json
← back to finding ↓ download raw
{
  "finding_id": "DF-4164",
  "title": "radeon_unmap_vram_bos walks rdev->gem.objects without gem.mutex while unprivileged GEM create/close list_add/kfree the same list: UAF read / list corruption race in the PM clock-change path",
  "verdict": "inconclusive",
  "impact": "none",
  "reproduce": {
    "build": "n/a (hardware-gated)",
    "run": "on a profile-method radeon (pre-DPM asic or missing rlc/smc fw): loop GEM create+close from an unprivileged drm client while AC attach/detach (or resume) fires pm clock changes",
    "expected": "unpatched: intermittent UAF read of freed radeon_bo / list corruption -> panic; patched: walk serialized under gem.mutex, no fault"
  },
  "kernel_refs": [
    "sys/dev/drm/radeon/radeon_pm.c:146",
    "sys/dev/drm/radeon/radeon_pm.c:279",
    "sys/dev/drm/radeon/radeon_gem.c:89",
    "sys/dev/drm/radeon/radeon_object.c:77",
    "sys/dev/drm/radeon/radeon_pm.c:1533",
    "sys/dev/drm/radeon/radeon_device.c:1816"
  ],
  "artifacts": [
    "README.md",
    "VERDICT.md",
    "fix.diff",
    "env.txt",
    "manifest.json",
    "verdict.json"
  ]
}