β¬’ DragonFlyBSD Kernel Audit
← triage Β· dashboard
DF-5323

Second M_WAITOK-sleep-reachable-inside-critical-section site: fw_bus_probe() holds crit_enter() across fw_bus_explore()'s device kmalloc(M_WAITOK|M_ZERO) (distinct from known DF-1021/fw_get_tlabel)

Summary

fw_bus_probe wraps the whole exploration in crit_enter and fw_bus_explore kmallocs a new fw_device with M_WAITOK when a fresh EUI64 answers - same class as DF-1021 but a call site its fix would not cover; scheduler/livelock hazard under memory pressure on real hardware. Hardware+pressure-gated. M_INTWAIT-or-move-out-of-crit fix.

Discussion (0)

No comments yet.

PoC verification

Evidence pack

findings/poc/DF-5323 Β· 1 files
FileTypeDescriptionSize
verdict.json file 963 B view raw

Fix verification

not_testable
baseline no→ patch + rebuild →patched clean
per-fix-DF-5323

Confirmed kernel references

Detail

Evidence (decisive lines)

static chain firewire.c:1239 crit -> :1311 M_WAITOK

Verified recommended fix

M_INTWAIT or move the allocation out of the crit section

Verdict

untested (Low; hardware- and memory-pressure-gated)