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)
PoC verification
Evidence pack
findings/poc/DF-5199 Β· 1 files| File | Type | Description | Size | |
|---|---|---|---|---|
| verdict.json | file | 1.1 KB | view raw |
Fix verification
not_testablebaseline 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)
No comments yet.