aux_engine_funcs.configure left NULL in the dce110 (and all i2caux) AUX engine func tables while dal_i2caux_configure_aux() invokes it unconditionally β latent NULL function-pointer call/panic on any future caller
Summary
Designated-initializer semantics leave .configure NULL in every i2caux engine table while the exported configure API calls it unguarded - a guaranteed NULL fn-ptr panic the moment any future display-reconfig path uses the API (DCE 8.x-11.2). Zero callers today (latent dead-API). Guard-the-call fix.
Discussion (0)
PoC verification
Evidence pack
findings/poc/DF-4861 Β· 1 files| File | Type | Description | Size | |
|---|---|---|---|---|
| verdict.json | file | 994 B | view raw |
Fix verification
not_testableConfirmed kernel references
Detail
Exploit chain
any future caller of dal_i2caux_configure_aux on DCE8-11.2 -> engine->funcs->configure == NULL -> kernel panic
Evidence (decisive lines)
findings/poc/DF-4861/ (this verdict)
Verdict
Latent dead-API hardening (zero callers tree-wide today): struct aux_engine_funcs declares .configure but the dce110 (and every i2caux) func table leaves it NULL via designated-initializer semantics, while the exported dal_i2caux_configure_aux() calls it unconditionally at i2caux.c:306 - a guaranteed NULL function-pointer panic the moment any future display-reconfig path uses the API (serves DCE 8.x-11.2 ASICs). No AMD GPU on guest. Guard-the-call (or stub) fix.
No comments yet.