DF-5138 / manifest.json
{ "finding_id": "DF-5138", "verdict": "reproduced", "impact": "none", "confidence": "certain", "reproduce": { "build": "on the DFly guest: kldload drm; cd findings/poc/DF-5138 && sh build.sh", "run": "sh run.sh (root; loads df5138_wwproof.ko, greps DF5138 from dmesg)", "expected": "stock kernel: 'second_lock=0', 'ticket->acquired ... = 1', RESULT=REPRODUCED; with fix.diff applied to linux_wwmutex.c + drm.ko rebuilt: 'second_lock=-37', 'ticket->acquired ... = 0', RESULT=FIXED" }, "kernel_refs": [ "sys/dev/drm/ttm/ttm_execbuf_util.c:113", "sys/dev/drm/ttm/ttm_execbuf_util.c:119-124", "sys/dev/drm/linux_wwmutex.c:62", "sys/dev/drm/linux_wwmutex.c:109-120", "sys/dev/drm/linux_wwmutex.c:188-202", "sys/kern/kern_lock.c:125-143", "sys/dev/drm/drm_modeset_lock.c:270-276", "sys/dev/drm/linux_reservation.c:69-99", "sys/dev/drm/radeon/radeon_cs.c:103-104", "sys/dev/drm/amd/amdgpu/amdgpu_bo_list.c:52-100" ], "artifacts": [ "README.md", "VERDICT.md", "df5138_wwproof.c", "Makefile", "build.sh", "run.sh", "build.log", "run.log", "run.2.log", "fix_run.log", "fix_build.log", "fix.diff", "unload_hang.txt", "env.txt", "manifest.json", "verdict.json" ] } |