β¬’ DragonFlyBSD Kernel Audit
← triage Β· dashboard
DF-4861

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)

No comments yet.

PoC verification

Evidence pack

findings/poc/DF-4861 Β· 1 files
FileTypeDescriptionSize
verdict.json file 994 B view raw

Fix verification

not_testable
per-fix-DF-4861

Confirmed 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.