⬢ DragonFlyBSD Kernel Audit
DF-2323 / manifest.json
← back to finding ↓ download raw
{
 "finding_id": "DF-2323",
 "status": "reproduced",
 "impact": "corruption",
 "reproduce": {
  "build": "sh rig/build.sh DFPCI (guest: make -j6 nativekernel KERNCONF=DFPCI; KERNCONFs DFPCIP/DFPCIPF/DFPCIF created by rig/gen.sh / rig/gen_fixed.sh)",
  "run": "vm.sh run_root \"sysctl debug.dfpcih.cmd=vpd_stock\" (quote the scenario without apostrophes; scenarios: vpd stock, vpd natural, vpd groom, vpd wild, vpd badck2, vpd errfirst, vpd ok); see rig/run_2323_stock.sh rig/run_2323_prod.sh",
  "expected": "stock: panic assertion (flags & M_ZERO) == 0 in krealloc at the shrink; production: groom run frees a LIVE canary and kmalloc(64) returns it (overlapping owners), wild run page-fault panics; fixed kernels: 0 untracked frees, canary intact, no panic"
 },
 "kernel_refs": [
  "sys/bus/pci/pci.c:1225",
  "sys/bus/pci/pci.c:1300",
  "sys/bus/pci/pci.c:1315",
  "sys/bus/pci/pci.c:1297",
  "sys/bus/pci/pci.c:1117",
  "sys/kern/kern_slaballoc.c:1187"
 ],
 "artifacts": [
  "README.md",
  "VERDICT.md",
  "build.log",
  "env.txt",
  "manifest.json",
  "panic_stock.txt",
  "panic_wild.txt",
  "rig/SOURCE_HASHES.txt",
  "rig/badck2.log",
  "rig/build.sh",
  "rig/build_run_DFPCI.out",
  "rig/cflags_evidence.txt",
  "rig/check_verbatim.sh",
  "rig/check_verbatim_fixed.sh",
  "rig/controls.log",
  "rig/dfpci_post.c",
  "rig/dfpci_pre.c",
  "rig/fix.diff",
  "rig/fixed_runs.log",
  "rig/gen.log",
  "rig/gen.sh",
  "rig/gen_fixed.sh",
  "rig/groom.log",
  "rig/mk_extract.py",
  "rig/natural_5runs.log",
  "rig/run_2323_prod.sh",
  "rig/run_2323_stock.sh",
  "rig/verbatim.log",
  "run.log",
  "verdict.json"
 ],
 "fix_diff": "rig/fix.diff"
}