DF-0803 / 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 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 | { "finding_id": "DF-0803", "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 (builds the deterministic arithmetic harness)", "run": "./run.sh (harness + as-root vnconfig/mount_ext2fs of df0803_g0.img)", "expected": "kernel panic; see panic.txt / run.log. On a fixed kernel: exits 0, no panic." }, "kernel_refs": [ "sys/vfs/ext2fs/ext2_vfsops.c:594", "sys/vfs/ext2fs/ext2_vfsops.c:595", "sys/vfs/ext2fs/ext2_vfsops.c:620", "sys/vfs/ext2fs/ext2_vfsops.c:621", "sys/vfs/ext2fs/ext2_vfsops.c:622", "sys/vfs/ext2fs/ext2_vfsops.c:647", "sys/vfs/ext2fs/ext2_vfsops.c:649", "sys/vfs/ext2fs/ext2_vfsops.c:665", "sys/vfs/ext2fs/ext2_vfsops.c:679", "sys/vfs/ext2fs/ext2_vfsops.c:366", "sys/vfs/ext2fs/ext2_vfsops.c:379", "sys/vfs/ext2fs/ext2_vfsops.c:1338", "sys/vfs/ext2fs/ext2_vfsops.c:1358", "sys/vfs/ext2fs/ext2fs.h:159", "sys/vfs/ext2fs/ext2fs.h:175", "sys/vfs/ext2fs/ext2fs.h:248", "sys/vfs/ext2fs/fs.h:108", "sys/vfs/ext2fs/fs.h:111", "sys/kern/kern_slaballoc.c:193", "sys/kern/kern_slaballoc.c:888", "sys/sys/param.h:397" ], "artifacts": [ { "path": "craft_img.py", "type": "trigger-source", "desc": "python superblock patcher; produces df0803_g{0,1,64}.img from an mke2fs base" }, { "path": "harness.c", "type": "trigger-source", "desc": "deterministic userspace transcription of the kernel's e2fs_gcount arithmetic + downstream malloc/validate/deref flow" }, { "path": "df0803_g0.img", "type": "crafted-image", "desc": "1 MB ext2 image, gcount wraps to 0 (howmany = 2^32) \u2014 panics on first inode deref" }, { "path": "df0803_g1.img", "type": "crafted-image", "desc": "1 MB ext2 image, gcount wraps to 1 (howmany = 2^32 + 1) \u2014 mount succeeds, only GD[0] validated" }, { "path": "build.sh", "type": "build-script", "desc": "cc -O2 -Wall -o harness harness.c" }, { "path": "run.sh", "type": "run-script", "desc": "runs harness; if root, vnconfig+mount_ext2fs each crafted image" }, { "path": "build.log", "type": "build-log", "desc": "harness build output on guest" }, { "path": "run.log", "type": "run-log", "desc": "harness run output (deterministic arithmetic for all 4 variants)" }, { "path": "panic.txt", "type": "panic-signature", "desc": "Fatal trap 12 in e2fs_gd_get_i_tables, fault addr 0x20 (baseline #0)" }, { "path": "boot.log.baseline-confirm", "type": "boot-log", "desc": "raw serial log of the baseline re-confirmation run" }, { "path": "boot.log.pre-df0803", "type": "boot-log", "desc": "raw serial log of the very first reproduction" }, { "path": "boot.log.fix-test2", "type": "boot-log", "desc": "raw serial log of the patched-kernel #1 + patched-module test (no panic)" }, { "path": "fix.diff", "type": "suggested-fix", "desc": "git apply-able: uint64 gcount + ext2_vget bounds check (supersedes finding proposal)" }, { "path": "fix_build.log", "type": "build-log", "desc": "Phase 8 nativekernel build summary (rc=0, ~8 min)" }, { "path": "fix_run.log", "type": "run-log", "desc": "Phase 8 validation: gcount=0/1 rejected with EINVAL, normal ext2 mounts OK" }, { "path": "env.txt", "type": "environment", "desc": "guest uname, cc version, sysctls" }, { "path": "VERDICT.md", "type": "verdict", "desc": "full narrative analysis: mechanism, impact, fix" }, { "path": "README.md", "type": "readme", "desc": "human-readable reproduction guide" }, { "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" } ] } |