{
  "finding_id": "DF-4023",
  "title": "Dangling rdev->pm.dpm.ps after kzalloc-failure kfree in rv7xx_parse_power_table (rv770_dpm.c:2308): ignored rv770_dpm_init error -> double free in rv770_dpm_fini at unload/reboot + leak of parsed ps_priv states",
  "verdict": "inconclusive",
  "impact": "none_observed_heap_corruption_on_hardware",
  "reproduce": {
    "build": "n/a (hardware-gated + alloc-failure window)",
    "run": "n/a; on RV770-family hw: many-state VBIOS + boot-time memory pressure -> graceful enable failure -> kldunload/reboot double-frees ps",
    "expected": "double-free panic / kmalloc heap corruption at rv770_dpm_fini"
  },
  "kernel_refs": [
    "sys/dev/drm/radeon/rv770_dpm.c:2289",
    "sys/dev/drm/radeon/rv770_dpm.c:2306",
    "sys/dev/drm/radeon/rv770_dpm.c:2308",
    "sys/dev/drm/radeon/rv770_dpm.c:2327",
    "sys/dev/drm/radeon/rv770_dpm.c:2347",
    "sys/dev/drm/radeon/rv770_dpm.c:2368",
    "sys/dev/drm/radeon/rv770_dpm.c:2543",
    "sys/dev/drm/radeon/rv770_dpm.c:2550",
    "sys/dev/drm/radeon/rv770_dpm.c:1912",
    "sys/dev/drm/radeon/radeon_pm.c:1448",
    "sys/dev/drm/radeon/radeon_pm.c:1456",
    "sys/dev/drm/radeon/radeon_pm.c:1705",
    "sys/dev/drm/radeon/rv770.c:1996"
  ],
  "artifacts": ["README.md", "VERDICT.md", "env.txt", "fix.diff", "manifest.json", "verdict.json"]
}
