From: Greg Kroah-Hartman Date: Thu, 13 Jun 2024 08:49:54 +0000 (+0200) Subject: 6.6-stable patches X-Git-Tag: v4.19.316~44 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6d5730037a3929cff0ba63d1f4b3126eb3d4a3b2;p=thirdparty%2Fkernel%2Fstable-queue.git 6.6-stable patches added patches: drm-amdkfd-handle-duplicate-bos-in-reserve_bo_and_cond_vms.patch --- diff --git a/queue-6.6/drm-amdkfd-handle-duplicate-bos-in-reserve_bo_and_cond_vms.patch b/queue-6.6/drm-amdkfd-handle-duplicate-bos-in-reserve_bo_and_cond_vms.patch new file mode 100644 index 00000000000..5aed84157ef --- /dev/null +++ b/queue-6.6/drm-amdkfd-handle-duplicate-bos-in-reserve_bo_and_cond_vms.patch @@ -0,0 +1,53 @@ +From 2a705f3e49d20b59cd9e5cc3061b2d92ebe1e5f0 Mon Sep 17 00:00:00 2001 +From: Lang Yu +Date: Thu, 11 Apr 2024 17:14:17 +0800 +Subject: drm/amdkfd: handle duplicate BOs in reserve_bo_and_cond_vms + +From: Lang Yu + +commit 2a705f3e49d20b59cd9e5cc3061b2d92ebe1e5f0 upstream. + +Observed on gfx8 ASIC where KFD_IOC_ALLOC_MEM_FLAGS_AQL_QUEUE_MEM is used. +Two attachments use the same VM, root PD would be locked twice. + +[ 57.910418] Call Trace: +[ 57.793726] ? reserve_bo_and_cond_vms+0x111/0x1c0 [amdgpu] +[ 57.793820] amdgpu_amdkfd_gpuvm_unmap_memory_from_gpu+0x6c/0x1c0 [amdgpu] +[ 57.793923] ? idr_get_next_ul+0xbe/0x100 +[ 57.793933] kfd_process_device_free_bos+0x7e/0xf0 [amdgpu] +[ 57.794041] kfd_process_wq_release+0x2ae/0x3c0 [amdgpu] +[ 57.794141] ? process_scheduled_works+0x29c/0x580 +[ 57.794147] process_scheduled_works+0x303/0x580 +[ 57.794157] ? __pfx_worker_thread+0x10/0x10 +[ 57.794160] worker_thread+0x1a2/0x370 +[ 57.794165] ? __pfx_worker_thread+0x10/0x10 +[ 57.794167] kthread+0x11b/0x150 +[ 57.794172] ? __pfx_kthread+0x10/0x10 +[ 57.794177] ret_from_fork+0x3d/0x60 +[ 57.794181] ? __pfx_kthread+0x10/0x10 +[ 57.794184] ret_from_fork_asm+0x1b/0x30 + +Signed-off-by: Lang Yu +Reviewed-by: Felix Kuehling +Signed-off-by: Alex Deucher +Cc: stable@vger.kernel.org # 6.6.x only +Signed-off-by: Tomáš Trnka +[TT: trivially adjusted for 6.6 which does not have commit 05d249352f + (third argument to drm_exec_init removed)] +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c +@@ -1135,7 +1135,8 @@ static int reserve_bo_and_cond_vms(struc + int ret; + + ctx->sync = &mem->sync; +- drm_exec_init(&ctx->exec, DRM_EXEC_INTERRUPTIBLE_WAIT); ++ drm_exec_init(&ctx->exec, DRM_EXEC_INTERRUPTIBLE_WAIT | ++ DRM_EXEC_IGNORE_DUPLICATES); + drm_exec_until_all_locked(&ctx->exec) { + ctx->n_vms = 0; + list_for_each_entry(entry, &mem->attachments, list) { diff --git a/queue-6.6/series b/queue-6.6/series index f04d7b1bf6c..852e0586913 100644 --- a/queue-6.6/series +++ b/queue-6.6/series @@ -103,3 +103,4 @@ kdb-use-format-specifiers-rather-than-memset-for-padding-in-kdb_read.patch net-fix-__dst_negative_advice-race.patch e1000e-move-force-smbus-near-the-end-of-enable_ulp-function.patch sparc-move-struct-termio-to-asm-termios.h.patch +drm-amdkfd-handle-duplicate-bos-in-reserve_bo_and_cond_vms.patch