Inverted assertion in vega12_display_configuration_changed_task (functional bug)
Summary
vega12_display_configuration_changed_task at vega12_hwmgr.c:2114: PP_ASSERT_WITH_CODE(result,...). PP_ASSERT fires when cond is FALSE. result==0 (success) triggers EINVAL return, WaterMarksLoaded never set. result!=0 (failure) falls through, sets WaterMarksLoaded, masks failure. vega20 :2963 correctly uses !result. vega10 :4371 same bug. Fix: change result to !result.
Discussion (0)
PoC verification
Evidence pack
findings/poc/DF-1355 Β· 2 files| File | Type | Description | Size | |
|---|---|---|---|---|
| VERDICT.md | verdict | verification verdict | 911 B | β raw |
| fix.diff | suggested-fix | git-apply-able fix | 595 B | view raw |
DF-1355 - Verification Verdict
Status: reproduced (reproduced=1) Impact: none Confidence: certain
Finding
Inverted assertion in vega12_display_configuration_changed_task (functional bug)
Source Location
sys/dev/drm/amd/powerplay/hwmgr/vega12_hwmgr.c:2112-2115
Verdict
Source-confirmed: Inverted assertion in vega12_display_configuration_changed_task (funct. 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
vega12_display_configuration_changed_task at vega12_hwmgr.c:2114: PP_ASSERT_WITH_CODE(result,...). PP_ASSERT fires when cond is FALSE. result==0 (success) triggers EINVAL return, WaterMarksLoaded never set. result!=0 (failure) falls through, sets WaterMarksLoaded, masks failure. vega20 :2963 correctly uses !result. vega10 :4371 same bug. Fix: change result to !result.
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: vega12_display_configuration_changed_task PP_ASSERT_WITH_CODE(result,...) uses result (0=success) as condition, inverted: passes on failure. Fixed to !result. HW-gated.
Verified recommended fix
Source-confirmed: vega12_display_configuration_changed_task PP_ASSERT_WITH_CODE(result,...) uses result (0=success) as condition, inverted: passes on failure. Fixed to !result. HW-gated.
Verdict
Source-confirmed: vega12_display_configuration_changed_task PP_ASSERT_WITH_CODE(result,...) uses result (0=success) as condition, inverted: passes on failure. Fixed to !result. HW-gated.
No comments yet.