DragonFlyBSD Kernel Audit
DF-2638 / verdict.json
← back to finding ↓ download raw
{
  "finding_id": "DF-2638",
  "status": "untested",
  "reproduced": 0,
  "impact": "none",
  "confidence": "likely",
  "verdict": "hammer2_inode_chain_sync (hammer2_inode.c:1718-1733) clears HAMMER2_INODE_RESIZED|MODIFIED before starting the backend xop; on xop failure the flag-restore code is commented out and the error swallowed ('XXX return error somehow?'), so pending metadata (size/times/mode, especially truncate RESIZED with its osize) is silently dropped from the dirty state. Data-integrity bug (silent metadata loss / potential stale meta.size vs data topology after remount); no memory-safety primitive demonstrated. Guest verification intentionally skipped per audit contract (Low).",
  "exploit_chain": "",
  "evidence": "README.md quotes the code with the commented-out restore",
  "kernel_refs": ["sys/vfs/hammer2/hammer2_inode.c:1694-1736", "sys/vfs/hammer2/hammer2_inode.c:1718-1719", "sys/vfs/hammer2/hammer2_inode.c:1725-1733"],
  "poc_changes": "",
  "attempts": 0,
  "guest_uname": "",
  "runtime_sec": 0,
  "guest_dirty": 0,
  "build_cmd": "",
  "run_cmd": "",
  "code_hash": "",
  "notes": "Related to DF-2633 (backend write failures surface as fsync errors on a full PFS).",
  "recommended_fix": "Uncomment the flag restore on error and propagate errno."
}