# DF-5069 — psm_fini_power_state_table() leaves hwmgr->boot_ps / hwmgr->uvd_ps dangling after kfree(hwmgr->ps)

## Build
Not buildable/runnable on the audit guest (requires AMD GPU / amdgpu attach —
see env.txt; guest has only QEMU std VGA, /dev/dri absent).

## Run
N/A — see env.txt.

## Expected behavior
`psm_fini_power_state_table()` (pp_psm.c:94-109) frees `hwmgr->ps` (:104) and NULLs
`request_ps`/`ps`/`current_ps` (:105-107) but leaves `hwmgr->boot_ps` and
`hwmgr->uvd_ps` — assigned at pp_psm.c:79/:87 as pointers *into* the freed `ps`
array — dangling. No in-tree reader of `hwmgr->boot_ps`/`hwmgr->uvd_ps` exists
today (verified by grep across sys/dev/drm/amd: only the two assignments in
pp_psm.c; the adev->pm.dpm.boot_ps family used by si/ci/kv_dpm.c is a different
struct), so this is a defense-in-depth fix: the first future consumer of these
published pointers would be a use-after-free read.

## Fix
Apply fix.diff (NULL both pointers in psm_fini alongside the others).
