⬢ DragonFlyBSD Kernel Audit
DF-4976 / manifest.json
← back to finding ↓ download raw
{
  "finding_id": "DF-4976",
  "verdict": "verified-by-trace (untested on guest: no AMD GPU / SR-IOV hardware)",
  "impact": "use-after-free at driver detach / racing double-recovery at gpu recovery (host-timed), availability-class",
  "reproduce": {
    "build": "n/a — requires Vega20-class SR-IOV VF guest",
    "run": "n/a — PF sends IDH_FLR_NOTIFICATION immediately before detach/suspend/recovery teardown (put_irq), leaving flr_work queued past soc15_common_hw_fini",
    "expected": "flr_work executes after put_irq: at detach it touches the freed adev (container_of, lock_reset, MMIO, amdgpu_device_gpu_recover) -> UAF/panic"
  },
  "kernel_refs": [
    "sys/dev/drm/amd/amdgpu/mxgpu_ai.c:365-369",
    "sys/dev/drm/amd/amdgpu/mxgpu_ai.c:287-296",
    "sys/dev/drm/amd/amdgpu/mxgpu_ai.c:235-271",
    "sys/dev/drm/amd/amdgpu/soc15.c:843-846",
    "sys/dev/drm/amd/amdgpu/amdgpu_kms.c:180",
    "sys/dev/drm/amd/amdgpu/amdgpu_drv.c:974",
    "sys/dev/drm/include/linux/workqueue.h:131"
  ],
  "artifacts": ["README.md", "VERDICT.md", "fix.diff", "verdict.json", "manifest.json"]
}