Lang Yu
3194771798
drm/amdkfd: handle duplicate BOs in reserve_bo_and_cond_vms
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>
2024-06-16 13:47:44 +02:00
..
2024-06-16 13:47:44 +02:00
2024-06-12 11:12:02 +02:00
2023-07-31 20:06:52 +02:00
2023-11-20 11:59:10 +01:00
2024-04-17 11:19:34 +02:00
2023-08-10 08:44:34 +02:00
2024-06-12 11:12:43 +02:00
2024-06-12 11:11:56 +02:00
2024-06-12 11:11:57 +02:00
2024-06-12 11:11:24 +02:00
2024-04-03 15:28:33 +02:00
2023-06-08 09:04:10 -07:00
2024-05-02 16:32:34 +02:00
2023-07-04 12:05:08 +02:00
2023-07-21 09:12:43 +02:00
2023-07-09 17:00:09 +02:00
2023-07-17 15:37:57 +02:00
2024-06-16 13:47:30 +02:00
2024-04-03 15:28:33 +02:00
2023-07-21 09:12:43 +02:00
2024-03-26 18:19:43 -04:00
2023-10-25 12:05:25 +02:00
2023-11-20 11:59:08 +01:00
2023-08-07 22:58:52 +02:00
2024-06-12 11:12:38 +02:00
2024-06-12 11:12:38 +02:00
2024-01-10 17:16:46 +01:00
2024-06-12 11:13:02 +02:00
2024-06-12 11:11:57 +02:00
2024-06-12 11:13:02 +02:00
2024-06-12 11:11:56 +02:00
2024-06-12 11:13:00 +02:00
2024-04-17 11:19:34 +02:00
2023-11-20 11:59:10 +01:00
2024-05-17 12:02:27 +02:00
2024-05-17 12:02:19 +02:00
2023-08-14 13:47:30 +03:00
2024-06-12 11:12:05 +02:00
2023-10-05 11:05:58 +02:00
2024-06-12 11:12:24 +02:00
2023-07-21 09:12:43 +02:00
2023-07-21 09:12:43 +02:00
2023-11-20 11:59:10 +01:00
2024-06-16 13:47:32 +02:00
2024-03-26 18:19:50 -04:00
2024-01-25 15:35:31 -08:00
2024-03-26 18:19:52 -04:00
2024-01-25 15:35:31 -08:00
2023-10-12 10:57:07 +02:00
2024-05-17 12:02:34 +02:00
2023-11-20 11:59:10 +01:00
2023-07-29 21:01:27 +02:00
2023-07-27 13:01:27 -03:00
2024-01-31 16:19:08 -08:00
2024-06-12 11:12:03 +02:00
2024-02-23 09:25:01 +01:00
2024-03-26 18:19:42 -04:00
2024-05-17 12:02:34 +02:00
2023-07-21 09:12:43 +02:00
2024-06-12 11:12:43 +02:00
2023-04-16 14:17:55 +02:00
2023-12-13 18:45:25 +01:00
2023-06-23 16:34:25 +02:00
2023-07-21 09:53:30 -07:00
2024-01-01 12:42:25 +00:00
2023-07-29 20:56:42 +02:00
2024-06-12 11:11:55 +02:00
2024-03-06 14:48:40 +00:00
2024-04-17 11:19:35 +02:00
2023-07-11 14:02:01 +02:00
2024-05-17 12:02:26 +02:00
2024-01-20 11:51:47 +01:00
2024-01-31 16:19:08 -08:00
2024-01-01 12:42:25 +00:00
2024-01-25 15:35:33 -08:00
2024-06-12 11:12:05 +02:00
2023-09-07 10:30:12 +02:00
2023-07-25 19:21:03 +02:00
2023-07-31 20:07:18 +02:00
2024-06-16 13:47:37 +02:00
2024-02-05 20:14:26 +00:00
2024-02-05 20:14:26 +00:00
2023-07-28 11:46:02 +02:00
2023-08-24 07:26:06 +10:00
2023-05-08 09:16:18 +02:00
2023-10-12 10:44:06 +02:00
2023-08-24 14:27:14 +02:00
2023-07-20 12:01:03 +02:00
2024-01-01 12:42:25 +00:00
2023-11-28 17:19:40 +00:00
2023-07-24 15:44:47 +02:00
2023-08-02 13:18:07 +02:00
2024-06-12 11:12:04 +02:00
2023-06-23 16:38:00 +02:00
2024-04-13 13:07:36 +02:00
2024-04-27 17:11:36 +02:00
2024-04-03 15:28:33 +02:00
2023-07-29 21:25:16 +02:00
2024-01-31 16:19:08 -08:00
2024-04-10 16:35:58 +02:00
2024-04-13 13:07:41 +02:00
2024-03-01 13:35:10 +01:00
2023-06-23 15:54:00 +02:00
2023-04-04 22:38:03 +02:00
2024-03-26 18:19:13 -04:00
2023-07-20 05:15:53 +02:00