DF-4163 / manifest.json
{ "finding_id": "DF-4163", "title": "radeon_pm_fini_dpm never cancels pm.dpm.thermal.work nor clears dpm_enabled while the thermal IRQ outlives pm_fini: post-fini UAF in radeon_dpm_thermal_work_handler", "verdict": "inconclusive", "impact": "none", "reproduce": { "build": "n/a (hardware-gated)", "run": "on a radeon DPM machine with thermal IRQ armed: heat the GPU past a threshold while kldunload-ing the driver", "expected": "unpatched: use-after-free walk of rdev->pm.dpm.ps[] (kfree'd, num_ps>0) in radeon_dpm_pick_power_state / freed ps_priv+priv into SMC programming -> panic or garbage clock programming; patched: handler flushed/flag cleared before frees, no UAF" }, "kernel_refs": [ "sys/dev/drm/radeon/radeon_pm.c:1690", "sys/dev/drm/radeon/radeon_pm.c:1705", "sys/dev/drm/radeon/radeon_pm.c:881", "sys/dev/drm/radeon/radeon_pm.c:1062", "sys/dev/drm/radeon/radeon_pm.c:945", "sys/dev/drm/radeon/radeon_pm.c:1154", "sys/dev/drm/radeon/si.c:6429", "sys/dev/drm/radeon/si.c:6945", "sys/dev/drm/radeon/si_dpm.c:7078" ], "artifacts": [ "README.md", "VERDICT.md", "fix.diff", "env.txt", "manifest.json", "verdict.json" ] } |