⬢ DragonFlyBSD Kernel Audit
DF-2660 / fix_run.log
← back to finding ↓ download raw
DF-2660 fix validation run log (kernel #1, both fixes applied)

The race-specific behavioral test (racing VOP create landing inside
hammer2_sync_insert()'s re-lookup window, verifying the EAGAIN return path)
could not be executed: on this stock-derived kernel every racing VOP is
pre-empted by the sibling NULL-deref at hammer2_inode_chain_and_parent
(hammer2_inode.c:446-453, fault va 0x118) via hammer2_chain_inode_find()
before the synchro.c:758 site can be reached (4/4 attempts f/g/h/i; see
attempts_fghi.console.txt).  The sibling defect must be fixed first for any
live race re-attempt.

No-regression evidence (same kernel, same boot):
The DF-2658 validation rig (../DF-2658/run_fixed.log, fixed-kernel run of
trigger_df2658.sh) drove the full catch-up synchronization path through the
patched hammer2_synchro.c on a real 3-master same-clid cluster:

  replace rec 0xfffff8011b8c2100 slave 2 3.0000000000000000 mod=0x13
  replace rec 0xfffff8011b8c1800 slave 2 1.0000000000000401 mod=0x15
  replace rec 0xfffff8011b8c2280 slave 2 3.0000000000000000 mod=0x0f
  replace rec 0xfffff8011b8c1500 slave 2 1.0000000000000400 mod=0x11
  replace rec 0xfffff8011b8c1080 slave 2 1.86cc8a630caf8000 mod=0x19

(root scan + deferred inode passes + PFS-root final sync all completed;
400+ hammer2_sync_insert()/hammer2_sync_replace() calls executed normally,
no EAGAIN-related errors, no panics attributable to the fix).

fix_status: not_testable (race-specific) / no-regression: pass