⬢ DragonFlyBSD Kernel Audit
DF-4266 / manifest.json
← back to finding ↓ download raw
{
  "finding_id": "DF-4266",
  "title": "Inverted RX descriptor-ownership test in wb_rxeof(): RX permanently dead + per-interrupt chip reset storm + chip-owned descriptors processed/re-armed",
  "verdict": "reproduced",
  "impact_class": "dos",
  "reproduce": {
    "build": "sh /root/df4266/kld_build.sh   (make -m /usr/src/share/mk; clean -Werror)",
    "run": "sh /root/df4266/kld_run.sh baseline   (then: apply fix.diff to /usr/src, make -j6 nativekernel && make installkernel, reboot, sh /root/df4266/kld_run.sh fixed)",
    "expected": "baseline: S1 BUG CONFIRMED (completed frame dropped: delivered=0 ipackets=0 descriptor untouched), S1fix (identical state delivered by fixed comparator), S2 BUG CONFIRMED (chip-owned descriptor processed per dispatch: ierrors++, 'receiver babbling', full ring re-init, ~65ms), S3 BUG CONFIRMED (frame accepted from OWN=1 descriptor, re-armed under the chip), SURVIVED. fixed kernel: S1 delivered by the REAL patched handler (ipackets=1), S2 9-13us no-op, S3 descriptor untouched - all bug markers gone."
  },
  "kernel_refs": [
    "sys/dev/netif/wb/if_wb.c:972",
    "sys/dev/netif/wb/if_wb.c:975",
    "sys/dev/netif/wb/if_wb.c:982",
    "sys/dev/netif/wb/if_wb.c:988",
    "sys/dev/netif/wb/if_wb.c:993",
    "sys/dev/netif/wb/if_wb.c:1137",
    "sys/dev/netif/wb/if_wbreg.h:243"
  ],
  "artifacts": [
    "df4266_wb_poc.c",
    "Makefile",
    "kld_build.sh",
    "kld_run.sh",
    "kld_build.log",
    "build.log",
    "kld_run_baseline.log",
    "run.log",
    "kld_run_fixed.log",
    "fix_run.log",
    "fix_build_tail.log",
    "fix_build.log",
    "panic_rig_v1.txt",
    "env.txt",
    "VERDICT.md",
    "README.md",
    "wb_logic.c",
    "run.sh",
    "logic_run.log",
    "fix.diff",
    "manifest.json",
    "verdict.json",
    "code_hash.txt"
  ]
}