DF-5020
dp_enable_link_phy reassigns pipes to a possibly-NULL dp_clock_source and calls program_pix_clk through it unguarded β latent NULL function-pointer call on DCE112/DCE120/DCN10 whose resource constructs skip the dp_clock_source NULL check; planted NULL also dereferenced by dp_retrain_link_dp_test
Summary
dce112/dce120/dcn10 resource constructs create dp_clock_source with no NULL check (contrast dce80/100/110 which fail construction); dp_enable_link_phy then assigns it into pipes[] and calls ->funcs->program_pix_clk unguarded, and the planted NULL persists in current_state for a later unchecked deref at :309 - while the DC's own caller in dc_link_dp.c:1124 defends against exactly this NULL. OOM-grooming trigger, hardware-gated (no AMD GPU on guest). Consumer guards + three construct backfills fix.
Discussion (0)
PoC verification
Evidence pack
findings/poc/DF-5020 Β· 1 files| File | Type | Description | Size | |
|---|---|---|---|---|
| verdict.json | file | 802 B | view raw |
Fix verification
not_testablebaseline noβ patch + rebuild βpatched clean
per-fix-DF-5020
Confirmed kernel references
Detail
Evidence (decisive lines)
source-level analysis in finding markdown
Verified recommended fix
see finding markdown
Verdict
untested (hardware-gated: no AMD GPU on audit guest)
No comments yet.