โฌข DragonFlyBSD Kernel Audit
DF-2747 / run.log
โ† back to finding โ†“ download raw
DF-2747 run.log โ€” baseline (stock kernel #0) and fix validation (kernel #1)

=== BASELINE โ€” stock INVARIANTS kernel #0 (Thu Jul 2 06:02:54) ===
setup:  mountctl -a -w /root/j1.bin -o memfifo=64k /tmp:race
run:    (user maxx) /tmp/df2747 12 400 /tmp/jstress

RUN 1: no output โ€” guest PANICKED (ssh dropped; vm.sh status => down).
vm.sh log capture (panic.txt, first block):
  panic: assertion "bytes >= 0 && bytes <= rawp->recsize - sizeof(struct
  journal_rawrecbeg) - sizeof(struct journal_rawrecend)" failed in
  journal_commit at /usr/src/sys/kern/vfs_journal.c:741   cpuid = 1
  journal_commit() at journal_commit+0x219
  journal_extend()  at journal_extend+0x9f
  jrecord_data()    at jrecord_data+0xae
  jrecord_leaf_uio() at jrecord_leaf_uio+0x48
  journal_write()   at journal_write+0x16c
  Debugger("panic")  ... CPU1 stopping CPUs

RUN 2 (after vm.sh reset with-src; fresh boot, same install):
  /tmp/df2747 12 150 /tmp/jstress
  again no completion output โ€” PANICKED (vm.sh status => down):
  journal_commit() at journal_commit+0x249
  journal_extend()  at journal_extend+0x9f
  jrecord_data()    at jrecord_data+0xae
  jrecord_write_path.part.6() at ...+0xf6
  jrecord_write_vnode_ref()   at ...+0x118
  cpuid = 0

Baseline score: 2/2 panics, unprivileged trigger, <90 s each.

=== FIX VALIDATION โ€” patched kernel #1 (Mon Aug 31 16:22:33) ===
fix applied: /usr/src/sys/kern/vfs_journal.c (fix.diff), full
  make -j6 nativekernel KERNCONF=X86_64_GENERIC  (BUILD_RC=0, build.log)
  make installkernel; reboot; uname confirms #1.

setup:  mountctl -a -w /root/j1.bin -o memfifo=64k /tmp:race
runs:   (user maxx) /tmp/df2747 12 400 /tmp/jstress   x4 back-to-back

RUN1: HAMMER DONE (12 procs x 400 iters)   RUN1_OK
      mountctl -l: membufused=21K total_bytes=4.90M stalls=0
      ls /tmp/jstress | wc -l => 4800 (all files created)
RUN2: HAMMER DONE (12 procs x 400 iters)   RUN2_OK
RUN3: HAMMER DONE (12 procs x 400 iters)   RUN3_OK
RUN4: HAMMER DONE (12 procs x 400 iters)   RUN4_OK
      mountctl -l: membufused=3.94K total_bytes=5.45M stalls=0

stream integrity (j1_fixed.bin = copy of /root/j1.bin after run 4,
parsed with parse_stream.py):
  stream bytes=6146304 records=29880 pads=402
  chain_offset_end=0x5dc900 eof=0x5dc900 chain_break=no
  transid_monotonic_violations=0
  duplicate_transids=0

Patched score: 4/4 clean completions, perfect record chain.
fix_status: fixed.