]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/amdgpu: fix amdgpu_coredump
authorChristian König <christian.koenig@amd.com>
Thu, 12 Dec 2024 15:29:18 +0000 (16:29 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 27 Dec 2024 13:02:09 +0000 (14:02 +0100)
commit 8d1a13816e59254bd3b18f5ae0895230922bd120 upstream.

The VM pointer might already be outdated when that function is called.
Use the PASID instead to gather the information instead.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 57f812d171af4ba233d3ed7c94dfa5b8e92dcc04)
Cc: stable@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/amd/amdgpu/amdgpu_dev_coredump.c

index 5ac59b62020cf27ce4a2747abf439e64084d4c30..18b3b1aaa1d3b74f6a6cf01a84484387d1810e1b 100644 (file)
@@ -345,11 +345,10 @@ void amdgpu_coredump(struct amdgpu_device *adev, bool skip_vram_check,
        coredump->skip_vram_check = skip_vram_check;
        coredump->reset_vram_lost = vram_lost;
 
-       if (job && job->vm) {
-               struct amdgpu_vm *vm = job->vm;
+       if (job && job->pasid) {
                struct amdgpu_task_info *ti;
 
-               ti = amdgpu_vm_get_task_info_vm(vm);
+               ti = amdgpu_vm_get_task_info_pasid(adev, job->pasid);
                if (ti) {
                        coredump->reset_task_info = *ti;
                        amdgpu_vm_put_task_info(ti);