{
  "finding_id": "DF-5829",
  "title": "vm_object_page_clean() partial-range clean is a silent no-op (msync(MS_SYNC) performs no writeback; on hammer2 every msync range)",
  "verdict": "reproduced",
  "impact": "dos",
  "confidence": "certain",
  "reproduce": {
    "build": "cc -O2 -Wall -o msync_poc msync_poc.c",
    "run": "./msync_poc 3 [dir-on-hammer2-or-ufs]",
    "expected": "vulnerable kernel: partial-range and in-file-hammer2 arms show vnodeout delta = 0 while a range equal to the (block-rounded) object size flushes; patched kernel: every arm flushes"
  },
  "kernel_refs": [
    "sys/vm/vm_object.c:981",
    "sys/vm/vm_object.c:991",
    "sys/vm/vm_object.c:1039",
    "sys/vm/vm_object.c:1074",
    "sys/vm/vm_object.c:1175",
    "sys/vm/vm_map.c:3148",
    "sys/kern/vfs_vm.c:465",
    "sys/vm/vnode_pager.c:764"
  ],
  "artifacts": [
    "README.md",
    "VERDICT.md",
    "msync_poc.c",
    "build.sh",
    "run.sh",
    "build.log",
    "run.log",
    "run.2.log",
    "run.h2.log",
    "run.3-ufs.log",
    "run.patched-h2.log",
    "fix.diff",
    "fix_build.log",
    "env.txt",
    "manifest.json",
    "verdict.json"
  ]
}
