drm/amdkfd: Fix NULL pointer dereference in svm_migrate_to_ram()
authorYang Li <yang.lee@linux.alibaba.com>
Wed, 26 Oct 2022 02:00:54 +0000 (10:00 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 16 Nov 2022 08:58:13 +0000 (09:58 +0100)
[ Upstream commit 5b994354af3cab770bf13386469c5725713679af ]

./drivers/gpu/drm/amd/amdkfd/kfd_migrate.c:985:58-62: ERROR: p is NULL but dereferenced.

Link: https://bugzilla.openanolis.cn/show_bug.cgi?id=2549
Reported-by: Abaci Robot <abaci@linux.alibaba.com>
Signed-off-by: Yang Li <yang.lee@linux.alibaba.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c

index 0cc425f..93307be 100644 (file)
@@ -865,12 +865,10 @@ out_unlock_prange:
 out_unlock_svms:
        mutex_unlock(&p->svms.lock);
 out_unref_process:
+       pr_debug("CPU fault svms 0x%p address 0x%lx done\n", &p->svms, addr);
        kfd_unref_process(p);
 out_mmput:
        mmput(mm);
-
-       pr_debug("CPU fault svms 0x%p address 0x%lx done\n", &p->svms, addr);
-
        return r ? VM_FAULT_SIGBUS : 0;
 }