{
  "finding_id": "DF-5813",
  "status": "not_reproduced",
  "reproduced": 0,
  "impact": "none",
  "confidence": "likely",
  "verdict": "The four pointer-printing kprintfs (vm_pageout.c:1340/1350/1356 rebusy %p failed(A|B|C) in vm_pageout_page() and :1728 WARNING! page race during find/busy: %p in vm_pageout_scan_cache()) are certain by inspection and verified present in the running guest kernel (strings check), and the msgbuf is world-readable by unprivileged users (verified: uid 1001/1002 ran /sbin/dmesg). However the guarded interleavings never fired on this guest: five adversarial stress-rig designs over ~25 minutes (mmap dirty/msync/madvise/ftruncate churn, persistent dirty maps, dirty-then-abandon WINATCFLS cycling, UFS and HAMMER2 targets, anon hogs 500-2700MB) kept the pagedaemon demonstrably busy (1862 wakeups, 1.31M pages examined, 295k freed, vnode putpages +60k) yet vm.pageout_lock_miss stayed 0 and no marker line ever appeared in dmesg. The defect (raw vm_page_t pointer disclosure on race-recovery paths, sibling of DF-2689 at :1932) stands as Info severity; the race is empirically rare on this fast-disk single-tenant guest, so the PoC is honestly recorded as not_reproduced with the full rig history for future re-testing on busier hardware.",
  "exploit_chain": "",
  "evidence": [
    "findings/poc/DF-5813/strings_check.txt \u2014 all 4 format strings in /boot/kernel/kernel; unprivileged dmesg works",
    "findings/poc/DF-5813/run.log \u2014 5 rig designs, all runs markers=0, pageout_lock_miss=0",
    "sys/vm/vm_pageout.c:1262-1359 \u2014 the vget window and the (A)/(B)/(C) recovery prints",
    "sys/vm/vm_pageout.c:1727-1731 \u2014 the scan_cache find/busy race print",
    "README.md \u2014 design rationale for why each rig targeted a specific print"
  ],
  "kernel_refs": [
    "sys/vm/vm_pageout.c:1340",
    "sys/vm/vm_pageout.c:1350",
    "sys/vm/vm_pageout.c:1356",
    "sys/vm/vm_pageout.c:1728"
  ],
  "poc_changes": "v1 crashed on ftruncate-beyond-EOF shared maps (SIGSEGV/SIGBUS); replaced truncation with msync(MS_INVALIDATE). v2/v3 kept pages too clean or too referenced to be deactivated; v4 implements dirty-then-ABANDON cycling so pages reach the daemons WINATCFLS laundering branch while a syncer competes as cleaner.",
  "attempts": 8,
  "guest_uname": "DragonFly dfbsd 6.5-DEVELOPMENT DragonFly 6.5-DEVELOPMENT #0: Thu Jul  2 06:02:54 UTC 2026 root@dfbsd:/usr/obj/usr/src/sys/X86_64_GENERIC x86_64",
  "runtime_sec": 1500,
  "guest_dirty": 0,
  "build_cmd": "cc -O2 -o df5813_leakstress df5813_leakstress.c -lpthread",
  "run_cmd": "./df5813_leakstress <workdir> <seconds> <hog_MB> ; dmesg | grep -E rebusy|page race during find/busy",
  "code_hash": "943ed63d578d4406983ff4c4f455f612bdc25a662c8e475bb57a2764224b1716",
  "notes": "Guest left clean (rigs exit normally; /boot scratch files removed; final state: fresh reset). The vulnerability class matches DF-2689 (Info, kernleak bucket); these are four additional distinct sites with distinct triggers, hence a separate finding. On hardened/KASLR deployments the disclosed vm_page_array offset defeats heap-layout randomization.",
  "recommended_fix": "Delete the four kprintfs or strip the %p (keep a counter); mirrors the DF-2689 fix for :1932.",
  "fix_status": "not_applicable",
  "fix_baseline_reproduced": 0,
  "fix_patched_reproduced": 0,
  "fix_verdict": "No kernel fix-build performed: finding did not reproduce (race too rare on this guest) and severity is Info; fix is a one-line kprintf removal validated by inspection.",
  "fix_evidence": "fix.diff authored against sys/vm/vm_pageout.c (not applied to sys/)."
}