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

LinuxKPI interval 'tree' is an O(N) circular list β€” sole live consumer (radeon_vm.c GEM_VA path) turns it into unprivileged per-ioctl O(N) kernel scans (O(N^2) mapping churn), a kernel-CPU amplification DoS on radeon-equipped systems

Summary

The shim implements the API as a circular list where every ported driver assumes an O(log N) rbtree: the ONLY live consumer is radeon_vm's GEM_VA ioctl path - each map/unmap/removal walks the full list under vm->mutex. Unpriv render user with N~1e5 mapped nodes drives O(N^2) kernel pointer-chase churn, again en masse at teardown. Hardware-gated (radeon GPU); mechanism certain. INTERVAL_TREE_DEFINE fix (the template already ships in drm_mm.c).

Discussion (0)

No comments yet.

PoC verification

Evidence pack

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

Fix verification

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

Confirmed kernel references

Detail

Evidence (decisive lines)

static trace in finding markdown

Verified recommended fix

see finding markdown

Verdict

untested (dead code / hardware-gated; Info/Low per contract)