]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
drm/amd: Fix NULL pointer dereference in device cleanup
authorMario Limonciello <mario.limonciello@amd.com>
Wed, 4 Mar 2026 20:07:40 +0000 (14:07 -0600)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 6 Mar 2026 22:10:40 +0000 (17:10 -0500)
commit062ea905fff7756b2e87143ffccaece5cdb44267
tree73c615decc0383e74a06c5092f379448dcc25230
parent9d4837a26149355ffe3a1f80de80531eafdd3353
drm/amd: Fix NULL pointer dereference in device cleanup

When GPU initialization fails due to an unsupported HW block
IP blocks may have a NULL version pointer. During cleanup in
amdgpu_device_fini_hw, the code calls amdgpu_device_set_pg_state and
amdgpu_device_set_cg_state which iterate over all IP blocks and access
adev->ip_blocks[i].version without NULL checks, leading to a kernel
NULL pointer dereference.

Add NULL checks for adev->ip_blocks[i].version in both
amdgpu_device_set_cg_state and amdgpu_device_set_pg_state to prevent
dereferencing NULL pointers during GPU teardown when initialization has
failed.

Fixes: 39fc2bc4da00 ("drm/amdgpu: Protect GPU register accesses in powergated state in some paths")
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit b7ac77468cda92eecae560b05f62f997a12fe2f2)
Cc: stable@vger.kernel.org
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c