DF-5098
oce_page_list() hardcodes the segment bound (8) regardless of the destination pages[] array size β latent out-of-bounds write into RQ/CQ mailbox commands
Summary
max_entries=8 always, but the RQ/CQ command structs embed pages[2]/pages[4] - safe today only because compile-time ring sizes land exactly at the array limits (RQ 8192B=2 pages, CQ 16384B=4). Any ring-size increase overwrites up to 48B of subsequent command fields (intra-object, stack). Hardware-gated (no Emulex on guest, verified). Thread-the-dimension fix.
Discussion (0)
PoC verification
Evidence pack
findings/poc/DF-5098 Β· 1 files| File | Type | Description | Size | |
|---|---|---|---|---|
| verdict.json | file | 984 B | view raw |
Fix verification
not_testablebaseline noβ patch + rebuild βpatched clean
per-fix-DF-5098
Confirmed kernel references
Detail
Evidence (decisive lines)
source trace in finding markdown
Verified recommended fix
thread the destination array dimension through oce_page_list
Verdict
untested (hardware-gated: no Emulex OneConnect on guest; ring constants land exactly at array limits)
No comments yet.