linux/drivers/gpu/drm/amd/amdkfd
Qu Huang e92049ae45 drm/amdkfd: dqm fence memory corruption
Amdgpu driver uses 4-byte data type as DQM fence memory,
and transmits GPU address of fence memory to microcode
through query status PM4 message. However, query status
PM4 message definition and microcode processing are all
processed according to 8 bytes. Fence memory only allocates
4 bytes of memory, but microcode does write 8 bytes of memory,
so there is a memory corruption.

Changes since v1:
  * Change dqm->fence_addr as a u64 pointer to fix this issue,
also fix up query_status and amdkfd_fence_wait_timeout function
uses 64 bit fence value to make them consistent.

Signed-off-by: Qu Huang <jinsdb@126.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
2021-03-31 21:53:25 -04:00
..
cik_event_interrupt.c Merge tag 'amd-drm-next-5.11-2020-11-05' of git://people.freedesktop.org/~agd5f/linux into drm-next 2020-11-10 17:48:47 +10:00
cik_int.h
cik_regs.h
cwsr_trap_handler_gfx8.asm
cwsr_trap_handler_gfx9.asm
cwsr_trap_handler_gfx10.asm drm/amdkfd: Fix spurious debug exception on gfx10 2020-08-10 17:26:51 -04:00
cwsr_trap_handler.h drm/amdkfd: Fix spurious debug exception on gfx10 2020-08-10 17:26:51 -04:00
Kconfig drm/amdkfd: Enable userptr support when KFD is enabled 2021-01-21 09:55:16 -05:00
kfd_chardev.c drm/amdkfd: Fix leak in dmabuf import 2020-12-08 23:05:47 -05:00
kfd_crat.c drm/amdkfd: Fix out-of-bounds read in kdf_create_vcrat_image_cpu() 2021-01-13 23:46:34 -05:00
kfd_crat.h
kfd_dbgdev.c drm/amdkfd: dqm fence memory corruption 2021-03-31 21:53:25 -04:00
kfd_dbgdev.h
kfd_dbgmgr.c
kfd_dbgmgr.h drm, iommu: Change type of pasid to u32 2020-09-17 19:21:16 +02:00
kfd_debugfs.c drm/amdkfd: Fix permissions of hang_hws 2020-01-07 11:54:30 -05:00
kfd_device_queue_manager_cik.c
kfd_device_queue_manager_v9.c drm/amdgpu: store noretry parameter per driver instance 2020-09-25 16:55:16 -04:00
kfd_device_queue_manager_v10.c drm/amdkfd: Use same SQ prefetch setting as amdgpu 2020-10-21 23:06:07 -04:00
kfd_device_queue_manager_vi.c
kfd_device_queue_manager.c drm/amdkfd: dqm fence memory corruption 2021-03-31 21:53:25 -04:00
kfd_device_queue_manager.h drm/amdkfd: dqm fence memory corruption 2021-03-31 21:53:25 -04:00
kfd_device.c drm/amdkfd: PCIe atomics required for gfx10 2020-12-17 16:43:14 -05:00
kfd_doorbell.c drm/amdkfd: Move process doorbell allocation into kfd device 2020-09-22 12:25:02 -04:00
kfd_events.c drm, iommu: Change type of pasid to u32 2020-09-17 19:21:16 +02:00
kfd_events.h drm, iommu: Change type of pasid to u32 2020-09-17 19:21:16 +02:00
kfd_flat_memory.c drm/amdkfd: Support dimgrey_cavefish KFD (v2) 2020-10-12 14:01:21 -04:00
kfd_int_process_v9.c drm/amdkfd: check more client ids in interrupt handler 2021-01-08 15:18:25 -05:00
kfd_interrupt.c
kfd_iommu.c drm next for 5.10-rc1 2020-10-15 10:46:16 -07:00
kfd_iommu.h
kfd_kernel_queue.c drm/amdkfd: Enable over-subscription with >1 GWS queue 2020-04-28 16:20:30 -04:00
kfd_kernel_queue.h drm/amdkfd: Eliminate unnecessary kernel queue function pointers 2019-12-05 16:24:36 -05:00
kfd_module.c drm/amdgpu: Fix handling of KFD initialization failures 2020-09-22 12:24:11 -04:00
kfd_mqd_manager_cik.c
kfd_mqd_manager_v9.c drm/amdkfd: Update hardware scheduling time quanta 2020-07-02 12:02:55 -04:00
kfd_mqd_manager_v10.c drm/amdkfd: Update hardware scheduling time quanta 2020-07-02 12:02:55 -04:00
kfd_mqd_manager_vi.c drm/amdkfd: Update hardware scheduling time quanta 2020-07-02 12:02:55 -04:00
kfd_mqd_manager.c
kfd_mqd_manager.h
kfd_packet_manager_v9.c drm/amdkfd: dqm fence memory corruption 2021-03-31 21:53:25 -04:00
kfd_packet_manager_vi.c drm/amdkfd: dqm fence memory corruption 2021-03-31 21:53:25 -04:00
kfd_packet_manager.c drm/amdkfd: dqm fence memory corruption 2021-03-31 21:53:25 -04:00
kfd_pasid.c drm, iommu: Change type of pasid to u32 2020-09-17 19:21:16 +02:00
kfd_pm4_headers_ai.h
kfd_pm4_headers_diq.h
kfd_pm4_headers_vi.h
kfd_pm4_headers.h
kfd_pm4_opcodes.h
kfd_priv.h drm/amdkfd: dqm fence memory corruption 2021-03-31 21:53:25 -04:00
kfd_process_queue_manager.c drm/amdkfd: New IOCTL to allocate queue GWS (v2) 2020-04-28 16:20:30 -04:00
kfd_process.c drm next for 5.10-rc1 2020-10-15 10:46:16 -07:00
kfd_queue.c
kfd_smi_events.c drm/amdkfd: Add GPU reset SMI event 2020-08-31 14:40:03 -04:00
kfd_smi_events.h drm/amdkfd: Add GPU reset SMI event 2020-08-31 14:40:03 -04:00
kfd_topology.c drm/amdkfd: Get unique_id dynamically v2 2021-02-09 15:27:28 -05:00
kfd_topology.h drm/amdkfd: Get unique_id dynamically v2 2021-02-09 15:27:28 -05:00
Makefile drm/amdkfd: Provide SMI events watch 2020-07-15 13:27:34 -04:00
soc15_int.h