DF-5274
cdgetccb() stores its result in a function-static 'union ccb *' β concurrent callers on different SIM locks can receive the same ccb (double xpt_release_ccb) or leak one
Summary
Function-static scratch shared across all instances and SIM locks: two CD devices on different HBAs issuing commands concurrently can both receive the same ccb pointer -> double xpt_release_ccb (CCB zone double-free/UAF family) while the other leaks. cam_periph_getccb itself sleeps, widening interleavings. Tiny window, hard to hit deliberately. Pre-ANSI heritage 'static'. Make-it-a-local fix.
Discussion (0)
PoC verification
Evidence pack
findings/poc/DF-5274 Β· 1 files| File | Type | Description | Size | |
|---|---|---|---|---|
| verdict.json | file | 890 B | view raw |
Fix verification
not_testablebaseline noβ patch + rebuild βpatched clean
per-fix-DF-5274
Confirmed kernel references
Detail
Evidence (decisive lines)
static trace in finding markdown
Verified recommended fix
see finding markdown
Verdict
untested (Low race window / Info hardening; static proof)
No comments yet.