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)
PoC verification
Evidence pack
findings/poc/DF-5215 Β· 1 files| File | Type | Description | Size | |
|---|---|---|---|---|
| verdict.json | file | 915 B | view raw |
Fix verification
not_testablebaseline 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)
No comments yet.