⬢ DragonFlyBSD Kernel Audit
DF-5230 / manifest.json
← back to finding ↓ download raw
{
  "finding_id": "DF-5230",
  "title": "NULL rdev->uvd_fw dereference in uvd_v4_2_resume via unguarded KV DPM ungate path (kv_dpm.c:1628) -- kernel panic on suspend/pm-fini of DPM-enabled CIK APU without UVD firmware",
  "verdict": "reproduced",
  "impact": "panic",
  "confidence": "certain",
  "reproduce": {
    "build": "guest: ./build.sh (drm.ko + radeon.ko + df5230.ko from clean /usr/src)",
    "run": "guest root: ./run.sh  (kldload drm.ko radeon.ko df5230.ko)",
    "expected": "kprintf DF5230 markers, then 'Fatal trap 12: page fault while in kernel mode', fault virtual address = 0x10, 'Stopped at uvd_v4_2_resume+0x30: movq 0x10(%rdx),%rdx'; guest down at db> prompt"
  },
  "kernel_refs": [
    "sys/dev/drm/radeon/uvd_v4_2.c:51",
    "sys/dev/drm/radeon/uvd_v4_2.c:46",
    "sys/dev/drm/radeon/kv_dpm.c:1628",
    "sys/dev/drm/radeon/kv_dpm.c:1305",
    "sys/dev/drm/radeon/kv_dpm.c:1300",
    "sys/dev/drm/radeon/kv_dpm.c:2773",
    "sys/dev/drm/radeon/radeon_pm.c:1257",
    "sys/dev/drm/radeon/radeon_pm.c:1694",
    "sys/dev/drm/radeon/radeon.h:2797",
    "sys/dev/drm/radeon/cik.c:8545",
    "sys/dev/drm/radeon/cik.c:8167",
    "sys/dev/drm/radeon/radeon_uvd.c:137",
    "sys/dev/drm/radeon/radeon_uvd.c:176",
    "sys/sys/firmware.h:51"
  ],
  "artifacts": [
    "README.md", "VERDICT.md", "df5230.c", "Makefile", "build.sh", "run.sh",
    "panic.txt", "panic.2.txt", "run.baseline.log", "run.baseline2.log",
    "run.fixed.log", "fix_run.log", "fix_build.log", "load_modules.log",
    "env.txt", "fix.diff", "manifest.json", "verdict.json"
  ]
}