β¬’ DragonFlyBSD Kernel Audit
← triage Β· dashboard
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)

No comments yet.

PoC verification

Evidence pack

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

Fix verification

not_testable
baseline 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)