DF-3799
validate_tx_req_id inverts its NULL check β latent NULL-pointer dereference on out-of-range TX req_id (currently dead code)
Summary
When req_id >= tx_ring->ring_size, tx_info stays NULL and line 1187 dereferences tx_info->mbuf ('if (tx_info->mbuf == NULL)' should be 'if (tx_info == NULL)' - the else-branch text 'Invalid req_id' proves the intent). Porting transcription error. Currently unreachable because ena_com_tx_comp_req_id_get rejects req_id >= q_depth and q_depth == ring_size; also, unlike validate_rx_req_id, it does not set trigger_reset. Becomes a device-triggerable NULL-deref panic the moment the ena_com check is relaxed or ring sizes diverge.
Discussion (0)
PoC verification
Evidence pack
findings/poc/DF-3799 Β· 1 files| File | Type | Description | Size | |
|---|---|---|---|---|
| verdict.json | file | 321 B | view raw |
Confirmed kernel references
β
Detail
Evidence (decisive lines)
β
Verdict
Info - dead code today (ena_com req_id validation protects); transcription-error NULL check.
No comments yet.