linux/drivers/gpu/drm/amd/amdkfd
Felix Kuehling b91c23e099 drm/amdkfd: Fix error handling in criu_checkpoint
Checkpoint BOs last. That way we don't need to close dmabuf FDs if
something else fails later. This avoids problematic access to user mode
memory in the error handling code path.

criu_checkpoint_bos has its own error handling and cleanup that does not
depend on access to user memory.

In the private data, keep BOs before the remaining objects. This is
necessary to restore things in the correct order as restoring events
depends on the events-page BO being restored first.

Fixes: be072b06c7 ("drm/amdkfd: CRIU export BOs as prime dmabuf objects")
Reported-by: Jann Horn <jannh@google.com>
CC: Rajneesh Bhardwaj <Rajneesh.Bhardwaj@amd.com>
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
Reviewed-and-tested-by: Rajneesh Bhardwaj <rajneesh.bhardwaj@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
2022-11-09 17:57:48 -05:00
..
cik_event_interrupt.c drm/amdkfd: rename kfd_process_vm_fault to kfd_dqm_evict_pasid 2022-02-09 14:14:53 -05:00
cik_int.h
cik_regs.h
cwsr_trap_handler_gfx8.asm drm/amdkfd: Add aldebaran trap handler support 2021-03-10 00:02:24 -05:00
cwsr_trap_handler_gfx9.asm drm/amdkfd: port cwsr trap handler from dkms branch 2022-05-26 14:56:32 -04:00
cwsr_trap_handler_gfx10.asm drm/amdkfd: update GFX11 CWSR trap handler 2022-11-02 17:16:25 -04:00
cwsr_trap_handler.h drm/amdkfd: update GFX11 CWSR trap handler 2022-11-02 17:16:25 -04:00
Kconfig drm/amdkfd: Define config HSA_AMD_P2P to support peer-to-peer 2022-06-08 11:40:12 -04:00
kfd_chardev.c drm/amdkfd: Fix error handling in criu_checkpoint 2022-11-09 17:57:48 -05:00
kfd_crat.c drm/amdkfd: correct the cache info for gfx1036 2022-10-24 14:44:03 -04:00
kfd_crat.h drm/amdkfd: Fix leftover errors and warnings 2022-02-14 15:08:40 -05:00
kfd_debugfs.c drm/amdgpu: add debugfs for kfd system and ttm mem used 2022-07-28 16:05:16 -04:00
kfd_device_queue_manager_cik.c drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_device_queue_manager_v9.c drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_device_queue_manager_v10.c drm/amdkfd: Fix leftover errors and warnings 2022-02-14 15:08:40 -05:00
kfd_device_queue_manager_v11.c drm/amdkfd: Add KFD support for soc21 v3 2022-05-04 10:43:54 -04:00
kfd_device_queue_manager_vi.c drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_device_queue_manager.c drm/amdkfd: Fix UBSAN shift-out-of-bounds warning 2022-09-30 11:21:25 -04:00
kfd_device_queue_manager.h drm/amdkfd: Add KFD support for soc21 v3 2022-05-04 10:43:54 -04:00
kfd_device.c drm/amdkfd: Added GFX 11.0.3 Support 2022-08-30 16:37:11 -04:00
kfd_doorbell.c drm/amdkfd: Fix CRIU restore op due to doorbell offset 2022-09-13 12:54:23 -04:00
kfd_events.c drm/amdkfd: Fix error handling in kfd_criu_restore_events 2022-11-09 17:57:16 -05:00
kfd_events.h drm/amdkfd: Asynchronously free events 2022-04-12 14:20:13 -04:00
kfd_flat_memory.c drm/amdkfd: Fix leftover errors and warnings 2022-02-14 15:08:40 -05:00
kfd_int_process_v9.c drm/amdkfd: Add KFD support for soc21 v3 2022-05-04 10:43:54 -04:00
kfd_int_process_v11.c drm/amdkfd: fix dropped interrupt in kfd_int_process_v11 2022-09-29 09:41:44 -04:00
kfd_interrupt.c drm/amdkfd: use time_is_before_jiffies(a + b) to replace "jiffies - a > b" 2022-07-29 15:17:31 -04:00
kfd_iommu.c drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_iommu.h drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_kernel_queue.c drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_kernel_queue.h drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_migrate.c drm/amdkfd: Fix NULL pointer dereference in svm_migrate_to_ram() 2022-11-02 16:58:36 -04:00
kfd_migrate.h mm/memory.c: fix race when faulting a device private page 2022-10-12 18:51:49 -07:00
kfd_module.c drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_mqd_manager_cik.c drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_mqd_manager_v9.c drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_mqd_manager_v10.c drm/amdkfd: Fix leftover errors and warnings 2022-02-14 15:08:40 -05:00
kfd_mqd_manager_v11.c drm/amdgpu: Enable F32_WPTR_POLL_ENABLE in mqd 2022-10-06 12:05:44 -04:00
kfd_mqd_manager_vi.c drm/amdkfd: Fix leftover errors and warnings 2022-02-14 15:08:40 -05:00
kfd_mqd_manager.c drm/amdkfd: fix cu mask for asics with wgps 2022-06-30 15:28:03 -04:00
kfd_mqd_manager.h drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_packet_manager_v9.c drm/amdkfd: Use proper enum in pm_unmap_queues_v9() 2022-02-17 15:59:06 -05:00
kfd_packet_manager_vi.c drm/amdkfd: remove unneeded unmap single queue option 2022-02-14 15:08:41 -05:00
kfd_packet_manager.c drm/amdkfd: remove unneeded unmap single queue option 2022-02-14 15:08:41 -05:00
kfd_pasid.c drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_pm4_headers_ai.h drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_pm4_headers_aldebaran.h drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_pm4_headers_diq.h drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_pm4_headers_vi.h drm/amdkfd: Fix leftover errors and warnings 2022-02-14 15:08:40 -05:00
kfd_pm4_headers.h drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_pm4_opcodes.h drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_priv.h drm/amdkfd: Handle restart of kfd_ioctl_wait_events 2022-08-10 15:41:23 -04:00
kfd_process_queue_manager.c drm/amdkfd: Fix CRIU restore op due to doorbell offset 2022-09-13 12:54:23 -04:00
kfd_process.c drm/amdkfd: Allocate doorbells only when needed 2022-08-25 13:35:17 -04:00
kfd_queue.c drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_smi_events.c drm/amdkfd: Asynchronously free smi_client 2022-06-30 15:31:30 -04:00
kfd_smi_events.h drm/amdkfd: Add unmap from GPU SMI event 2022-06-30 15:31:21 -04:00
kfd_svm.c - Alistair Popple has a series which addresses a race which causes page 2022-10-14 12:28:43 -07:00
kfd_svm.h drm/amdkfd: Track unified memory when switching xnack mode 2022-09-30 11:21:14 -04:00
kfd_topology.c drm/amdkfd: potential crash in kfd_create_indirect_link_prop() 2022-08-16 18:06:29 -04:00
kfd_topology.h drm/amdkfd: Remove field io_link_count from struct kfd_topology_device 2022-06-10 15:24:26 -04:00
Makefile drm/amdkfd: Add KFD support for soc21 v3 2022-05-04 10:43:54 -04:00
soc15_int.h drm/amdkfd: Add KFD support for soc21 v3 2022-05-04 10:43:54 -04:00