DF-2214 / manifest.json
{ "finding_id": "DF-2214", "target": "sys/dev/drm/radeon/rv770_dma.c:42-94 (defect at :57)", "class": "verbatim-code KLD rig (radeon/amdgpu parser-rig class; sibling: DF-2167 evergreen twin)", "verdict": "reproduced", "impact": "gpu_integrity_silent_truncation", "confidence": "certain", "reproduce": { "build": "cd findings/poc/DF-2214 && ./build.sh", "run": "cd findings/poc/DF-2214 && ./run.sh", "expected": "BASELINE pages=0x00100000: scheduled_bytes=0 fence_emitted=1 -> SILENT_TRUNCATION; pages=0x000fffff: 100.0000% FULL_COPY; real64K ring: 0x000fffff -> ERR_PTR(-12) loud vs 0x00100000 -> silent no-op; FIXED: 100.0000% everywhere >=2^20, bit-identical below" }, "provenance": { "tree_file_sha256": "b33101a3cce7eba62ac2d1dda4e1ec0f7225028942cdbb1cafd1c9a2670e33d9", "verbatim_lines_42_94_sha256": "c1b2d82ab166f9e04f7158a8d6fe0506d22ee1c6f05aca121ca0ac9b5a6b547c", "checks": "guest tree == audited tree; line-range extraction == pattern extraction; fixed variant == fix.diff applied to same bytes; assembled source contains each verbatim byte block exactly once" }, "kernel_refs": [ "sys/dev/drm/radeon/rv770_dma.c:57", "sys/dev/drm/radeon/rv770_dma.c:58", "sys/dev/drm/radeon/rv770_dma.c:69-81", "sys/dev/drm/radeon/rv770_dma.c:83-93", "sys/dev/drm/radeon/radeon.h:645", "sys/dev/drm/radeon/radeon.h:2708-2717", "sys/dev/drm/radeon/radeon_ring.c:107-127", "sys/dev/drm/radeon/rv770d.h:663-669", "sys/dev/drm/radeon/rv770.c:1968", "sys/dev/drm/radeon/radeon_ttm.c:radeon_move_blit" ], "fix": { "status": "fixed", "validation": "A/B in same KLD: baseline truncates silently at >=2^20; fix.diff variant schedules 100.0000% (or fails loudly ERR_PTR(-12) on the real 64 KiB ring); sub-2^20 bit-identical", "diff": "fix.diff" }, "artifacts": [ "README.md", "VERDICT.md", "rig_head.c", "rig_tail.c", "verbatim_baseline.c", "verbatim_fixed.c", "df2214_rig.c", "build.sh", "run.sh", "build.log", "run.log", "run_extract.log", "run2_extract.log", "run3_extract.log", "run_dmesg.log", "kldload_panic_iteration.txt", "fix.diff", "env.txt", "manifest.json", "verdict.json" ] } |