DF-4976 / manifest.json
{ "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"] } |