]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
6.6-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Jun 2024 08:49:54 +0000 (10:49 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Jun 2024 08:49:54 +0000 (10:49 +0200)
added patches:
drm-amdkfd-handle-duplicate-bos-in-reserve_bo_and_cond_vms.patch

queue-6.6/drm-amdkfd-handle-duplicate-bos-in-reserve_bo_and_cond_vms.patch [new file with mode: 0644]
queue-6.6/series

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 (file)
index 0000000..5aed841
--- /dev/null
@@ -0,0 +1,53 @@
+From 2a705f3e49d20b59cd9e5cc3061b2d92ebe1e5f0 Mon Sep 17 00:00:00 2001
+From: Lang Yu <Lang.Yu@amd.com>
+Date: Thu, 11 Apr 2024 17:14:17 +0800
+Subject: drm/amdkfd: handle duplicate BOs in reserve_bo_and_cond_vms
+
+From: Lang Yu <Lang.Yu@amd.com>
+
+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 <Lang.Yu@amd.com>
+Reviewed-by: Felix Kuehling <felix.kuehling@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+Cc: stable@vger.kernel.org # 6.6.x only
+Signed-off-by: Tomáš Trnka <trnka@scm.com>
+[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 <gregkh@linuxfoundation.org>
+---
+ 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) {
index f04d7b1bf6cd5db738a50c9e52d717117130c0a8..852e05869130c43a50b5ef0eb9bbe969774b7817 100644 (file)
@@ -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