DF-4864 / manifest.json
{ "verdict": "not_reproduced", "impact_class": "kernel heap OOB write (32 bytes, deterministic per GPU-VM create) on AMD Raven APUs; hardware-gated", "finding": "DF-4864", "file": "sys/dev/drm/amd/amdgpu/amdgpu_ring.c", "root_cause_files": [ "sys/dev/drm/amd/amdgpu/amdgpu_vm.c:855", "sys/dev/drm/amd/amdgpu/amdgpu_vm.c:861-876", "sys/dev/drm/amd/amdgpu/amdgpu_vm.c:878", "sys/dev/drm/amd/amdgpu/amdgpu_vm.h:293", "sys/dev/drm/amd/amdgpu/sdma_v4_0.c:1184-1200", "sys/dev/drm/amd/amdgpu/sdma_v4_0.c:1208-1222", "sys/dev/drm/amd/amdgpu/amdgpu_ib.c:61-81", "sys/dev/drm/amd/amdgpu/amdgpu_sa.c:151-173", "sys/dev/drm/amd/amdgpu/gmc_v9_0.c:941-949", "sys/dev/drm/amd/amdgpu/amdgpu_vm.c:3172" ], "reproduce": { "build": "sh build.sh # cc -O2 -Wall -o df4864_trigger df4864_trigger.c (DragonFly guest, unpriv user)", "run": "sh run.sh # as unpriv user; prints the three cases + hw probe", "expected": "[Raven-root-512]/[Raven2-root-257]: after pad length_dw=24, 'OOB WRITE: 8 dwords (32 bytes) past the 64-byte SA sub-allocation', 32 canary bytes destroyed; [non-ATS-single]: length_dw=16, fits exactly. On this guest the hw probe reports no AMD VGA and no /dev/dri — kernel path unreachable." }, "kernel_refs": [ "sys/dev/drm/amd/amdgpu/amdgpu_vm.c:855", "sys/dev/drm/amd/amdgpu/amdgpu_vm.c:861-876", "sys/dev/drm/amd/amdgpu/sdma_v4_0.c:1184-1200", "sys/dev/drm/amd/amdgpu/sdma_v4_0.c:1208-1222", "sys/dev/drm/amd/amdgpu/amdgpu_ib.c:61-81", "sys/dev/drm/amd/amdgpu/amdgpu_vm.c:3172" ], "artifacts": [ "df4864_trigger.c", "build.sh", "run.sh", "build.log", "run.log", "run.2.log", "env.txt", "fix.diff", "fix_build.log", "README.md", "VERDICT.md", "manifest.json", "verdict.json" ] } |