DF-0872 / manifest.json
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | { "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" } ] } |