DF-4416 / verdict.json
{ "status": "untested", "impact": "none", "confidence": "certain", "verdict": "wa_init_mcr (intel_workarounds.c:787) indexes the 0-based sseu->subslice_mask[] with the 1-based fls(slice_mask) result; the same 1-based values from intel_calculate_mcr_s_ss_select (intel_engine_cs.c:769-770) are programmed into GEN8/11_MCR_SELECTOR via intel_workarounds.c:819-822. On single-slice gen10/11 parts (slice_mask==0x1, all ICL) this reads slice 1s subslice mask and steers MCR packets to the nonexistent slice 1, contradicting the enabled-pair requirement in the functions own comment. Out-of-bounds requires 8 fused slices (fls==8 vs array[8]) which no hardware has (GEN_MAX_SLICES=6), so impact is wrong MCR steering / bogus WARN at :799, not memory corruption. Untested: guest has no Intel GPU; 0-based semantics proven in-tree by read_subslice_reg callers (intel_ringbuffer.h:103-109).", "exploit_chain": "", "evidence": "VERDICT.md (full trace); intel_workarounds.c:781-800,819-822; intel_engine_cs.c:765-782,785; intel_device_info.h:116-121; i915_reg.h:2442-2449", "kernel_refs": [ "sys/dev/drm/i915/intel_workarounds.c:787", "sys/dev/drm/i915/intel_workarounds.c:789", "sys/dev/drm/i915/intel_workarounds.c:819", "sys/dev/drm/i915/intel_engine_cs.c:769", "sys/dev/drm/i915/intel_engine_cs.c:770", "sys/dev/drm/i915/intel_device_info.h:121" ], "notes": "Low severity logic/off-by-one; upstream later switched to ffs(mask)-1. Fix touches intel_engine_cs.c companion instance as well.", "recommended_fix": "Use ffs(sseu->slice_mask)-1 for the array index and 0-based values for the MCR selector (see fix.diff).", "finding_id": "DF-4416", "reproduced": 0, "poc_changes": "No runnable PoC authored (hardware-dependent path); source-trace verification only.", "attempts": 0, "guest_uname": null, "runtime_sec": 0, "guest_dirty": 0, "build_cmd": null, "run_cmd": null, "code_hash": null, "fix_status": "not_testable", "fix_baseline_reproduced": 0, "fix_patched_reproduced": 0, "fix_verdict": "Fix validation not performed: no triggering hardware (Intel gen10/11 GPU / 82541 NIC) exists in the audit QEMU guest; fix.diff authored from line-accurate source analysis only.", "fix_evidence": "Fix validation not performed: no triggering hardware (Intel gen10/11 GPU / 82541 NIC) exists in the audit QEMU guest; fix.diff authored from line-accurate source analysis only." } |