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

virtual_str_enc_funcs omits 7 ops (NULL) β€” latent NULL function-pointer call if virtual encoders are ever instantiated and cross-assigned to a real DP stream by the allocator fallback

Summary

The vtable fills 12 of 19 members (setup_stereo_sync, lvds_set_stream_attribute, 5 audio ops NULL) and the encoder allocator fallback does not skip ENGINE_ID_VIRTUAL - under encoder pressure a real DP stream would get a virtual encoder and NULL-call setup_stereo_sync at dc_link.c:2545. Dead code today (num_virtual_links hardcoded 0). Complete-the-vtable fix.

Discussion (0)

No comments yet.

PoC verification

Evidence pack

findings/poc/DF-5199 Β· 1 files
FileTypeDescriptionSize
verdict.json file 1.1 KB view raw

Fix verification

not_testable
baseline no→ patch + rebuild →patched clean
per-fix-DF-5199

Confirmed kernel references

Detail

Evidence (decisive lines)

static analysis: stream_encoder.h:104-159 vs virtual_stream_encoder.c:77-101; allocator fallback dc_resource.c:1775

Verified recommended fix

populate the 7 missing ops with no-op stubs

Verdict

untested (dead path: num_virtual_links hardcoded 0 in amdgpu_dm.c:396)