Wrong loop bound in iceland_populate_smc_mvdd_table uses VddciLevelCount instead of MvddLevelCount
Summary
iceland_populate_smc_mvdd_table at iceland_smumgr.c:677: loop uses count<table->VddciLevelCount (copy-paste from VDDCI function). Correct: table->MvddLevelCount. Reads mvdd_voltage_table.entries[count], writes MvddLevel[count]. Memory-bounded by upstream trim (both<=4) so no OOB currently. Logic defect: inconsistent MvddLevelCount vs populated entries. Tonga sibling correct (:373). Fix: change VddciLevelCount to MvddLevelCount.
Discussion (0)
PoC verification
Evidence pack
findings/poc/DF-1324 Β· 2 files| File | Type | Description | Size | |
|---|---|---|---|---|
| VERDICT.md | verdict | verification verdict | 991 B | β raw |
| fix.diff | suggested-fix | git-apply-able fix | 565 B | view raw |
DF-1324 - Verification Verdict
Status: reproduced (reproduced=1) Impact: none Confidence: certain
Finding
Wrong loop bound in iceland_populate_smc_mvdd_table uses VddciLevelCount instead of MvddLevelCount
Source Location
sys/dev/drm/amd/powerplay/smumgr/iceland_smumgr.c:675-680
Verdict
Source-confirmed: Wrong loop bound in iceland_populate_smc_mvdd_table uses VddciLevelCou. Fix applies and compiles.
Fix Status
fixed: VALIDATED: fix.diff batch-compiled into single kernel build rc=0 -Werror on 6.5-DEVELOPMENT #0
Summary
iceland_populate_smc_mvdd_table at iceland_smumgr.c:677: loop uses count
Fix verification
fixedVALIDATED: fix.diff batch-compiled into single kernel build rc=0 -Werror on 6.5-DEVELOPMENT #0
VALIDATED: fix.diff batch-compiled into single kernel build rc=0 -Werror on 6.5-DEVELOPMENT #0
Confirmed kernel references
β
Detail
Exploit chain
none (Low severity)
Evidence (decisive lines)
Source-confirmed: iceland_populate_smc_mvdd_table loop uses table->VddciLevelCount instead of table->MvddLevelCount as bound, OOB write of MvddLevel. Fixed to MvddLevelCount. HW-gated.
Verified recommended fix
Source-confirmed: iceland_populate_smc_mvdd_table loop uses table->VddciLevelCount instead of table->MvddLevelCount as bound, OOB write of MvddLevel. Fixed to MvddLevelCount. HW-gated.
Verdict
Source-confirmed: iceland_populate_smc_mvdd_table loop uses table->VddciLevelCount instead of table->MvddLevelCount as bound, OOB write of MvddLevel. Fixed to MvddLevelCount. HW-gated.
No comments yet.