{
  "finding_id": "DF-0872",
  "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",
  "code_hash": "b9a306d0f9e7f73e4c245b4cc038294a3be6c13dd327ab55b89b5a9764a94a47",
  "tested_at": "2026-07-22T18:10:00Z",
  "verdict": "REPRODUCED",
  "impact": "panic",
  "confidence": "certain",
  "reproduce": {
    "build": "./build.sh",
    "run": "./run.sh",
    "expected": "kernel panic; see panic.txt / run.log. On a fixed kernel: exits 0, no panic."
  },
  "kernel_refs": [
    "sys/vfs/ntfs/ntfs_vfsops.c:327",
    "sys/vfs/ntfs/ntfs_vfsops.c:343",
    "sys/vfs/ntfs/ntfs_vfsops.c:349",
    "sys/vfs/ntfs/ntfs_vfsops.c:354",
    "sys/vfs/ntfs/ntfs_vfsops.c:620",
    "sys/vfs/ntfs/ntfs_vfsops.c:646",
    "sys/vfs/ntfs/ntfs.h:226",
    "sys/vfs/ntfs/ntfs.h:267"
  ],
  "artifacts": [
    {
      "path": "craft_ntfs.c",
      "type": "trigger-source",
      "desc": "minimal trigger: crafts NTFS image with bf_bps=0, bf_mftrecsz=0xF6 -> div#0 at ntfs_vfsops.c:354"
    },
    {
      "path": "craft_variants.c",
      "type": "trigger-source",
      "desc": "emits 4 images: bps=0, spc=0, mftrecsz=0x80 (UB shift), and a control"
    },
    {
      "path": "build.sh",
      "type": "build-script",
      "desc": "cc -O2 -o craft_ntfs craft_ntfs.c"
    },
    {
      "path": "run.sh",
      "type": "run-script",
      "desc": "vnconfig + mount_ntfs crafted image (expects #DE panic on unpatched)"
    },
    {
      "path": "fix.diff",
      "type": "suggested-fix",
      "desc": "validate bf_bps/bf_spc!=0 and shift count in [0,31] before division/shift at ntfs_vfsops.c:349-355; reject bpmftrec==0"
    },
    {
      "path": "VERDICT.md",
      "type": "verdict",
      "desc": "full narrative: mechanism, reproduction, fix validation, path:line citations"
    },
    {
      "path": "README.md",
      "type": "readme",
      "desc": "how to reproduce + how it works"
    },
    {
      "path": "panic.txt",
      "type": "panic-signature",
      "desc": "Fatal trap 18 integer divide fault at ntfs_mountfs.isra.0+0x5ca: idivl %ecx,%eax"
    },
    {
      "path": "build.log",
      "type": "build-log",
      "desc": "trigger crafter build (cc -O2)"
    },
    {
      "path": "run.log",
      "type": "run-log",
      "desc": "first reproduction run (panic, guest down)"
    },
    {
      "path": "run.2.log",
      "type": "run-log",
      "desc": "second reproduction run (same panic, deterministic)"
    },
    {
      "path": "fix_build.log",
      "type": "build-log",
      "desc": "full single-fix nativekernel build output (rc=0, 35622 lines)"
    },
    {
      "path": "fix_run.log",
      "type": "run-log",
      "desc": "patched-kernel PoC re-run: EINVAL exit 71, guest up"
    },
    {
      "path": "fix_run.2.log",
      "type": "run-log",
      "desc": "second patched-kernel run: same EINVAL, deterministic"
    },
    {
      "path": "fix_variants.log",
      "type": "run-log",
      "desc": "all 4 crafted variants rejected by fix (bps=0, spc=0, mft=0x80, control)"
    },
    {
      "path": "dmesg.txt",
      "type": "dmesg",
      "desc": "kldstat showing patched ntfs.ko loaded; no panic"
    },
    {
      "path": "env.txt",
      "type": "environment",
      "desc": "uname, cc version, sysctls"
    },
    {
      "path": "manifest.json",
      "type": "manifest",
      "desc": "this file"
    },
    {
      "path": "fix_apply.log",
      "type": "apply-log",
      "desc": "patch --dry-run output proving fix.diff applies cleanly on with-src"
    },
    {
      "path": "../fix_build_combined.log",
      "type": "build-log",
      "desc": "Combined 41-finding kernel build (rc=0, -Werror clean)"
    },
    {
      "path": "../fix_build_summary.txt",
      "type": "build-summary",
      "desc": "Summary of the combined 41-finding kernel build"
    }
  ]
}