{
  "finding_id": "DF-2449",
  "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": "7b7fb2b98cc795c2e2c42001c3f916fe58648bff0652313e16272cd6c967e07d",
  "tested_at": "2026-08-09T00:37:58Z",
  "verdict": "REPRODUCED",
  "impact": "leak:16",
  "confidence": "certain",
  "reproduce": {
    "build": "./build.sh",
    "run": "./run.sh",
    "expected": "Unpatched: 5 reloads succeed and leak uninitialized start/length (0/0 then 0xff..ff with debug.use_malloc_pattern=1, variance 4/4 across trials). Patched dm.ko: 5 reloads return EINVAL, no leak path reachable. A valid reload (start/length supplied) still succeeds on patched module."
  },
  "kernel_refs": [
    "sys/dev/disk/dm/dm_ioctl.c:743",
    "sys/dev/disk/dm/dm_ioctl.c:744",
    "sys/dev/disk/dm/dm_ioctl.c:750",
    "sys/dev/disk/dm/dm_ioctl.c:752",
    "sys/dev/disk/dm/dm_ioctl.c:937",
    "sys/dev/disk/dm/dm_ioctl.c:939",
    "sys/libprop/prop_dictionary_util.c:118",
    "sys/libprop/prop_dictionary_util.c:126",
    "sys/libprop/prop_dictionary_util.c:136",
    "sys/kern/kern_slaballoc.c:1144",
    "sys/kern/kern_slaballoc.c:222"
  ],
  "artifacts": [
    {"path": "dm_uninit_startlength.c", "type": "trigger-source", "desc": "PoC: create/reload(table entry omits start/length)/table-readback; reports leak variance or FIX-IS-IN-EFFECT"},
    {"path": "build.sh",                "type": "build-script",   "desc": "cc -O2 -o dm_uninit_startlength dm_uninit_startlength.c -lprop"},
    {"path": "run.sh",                  "type": "run-script",     "desc": "./dm_uninit_startlength (as root, after kldload dm)"},
    {"path": "fix.diff",                "type": "suggested-fix",  "desc": "git-apply-able: add M_ZERO + check get_uint64 returns -> EINVAL on missing start/length"},
    {"path": "VERDICT.md",              "type": "verdict",        "desc": "full narrative: mechanism, privilege analysis, fix validation"},
    {"path": "README.md",               "type": "readme",         "desc": "summary + reproduce instructions"},
    {"path": "build.log",               "type": "build-log",      "desc": "final successful PoC build (compiler output)"},
    {"path": "run.log",                 "type": "run-log",        "desc": "decisive baseline run on unpatched #0 kernel (5 trials, leak confirmed)"},
    {"path": "fix_build.log",           "type": "build-log",      "desc": "single-fix dm module build (full make output)"},
    {"path": "fix_run.log",             "type": "run-log",        "desc": "PoC re-run on patched dm.ko: 5 EINVAL, FIX IS IN EFFECT"},
    {"path": "fix_run.2.log",           "type": "run-log",        "desc": "determinism re-run on patched dm.ko: same EINVAL result"},
    {"path": "env.txt",                 "type": "environment",    "desc": "uname, kern.version, cc version, sysctls, kldstat, /dev/mapper/control perms"},
    {"path": "manifest.json",           "type": "manifest",       "desc": "this catalog"}
  ]
}
