mirror_ubuntu-kernels/drivers/gpu/drm/amd/amdkfd
Yifan Zhang c8b0507f40 drm/amdkfd: judge get_atc_vmid_pasid_mapping_info before call
Fix the NULL point issue:

[ 3076.255609] BUG: kernel NULL pointer dereference, address: 0000000000000000
[ 3076.255624] #PF: supervisor instruction fetch in kernel mode
[ 3076.255637] #PF: error_code(0x0010) - not-present page
[ 3076.255649] PGD 0 P4D 0
[ 3076.255660] Oops: 0010 [#1] SMP NOPTI
[ 3076.255669] CPU: 20 PID: 2415 Comm: kfdtest Tainted: G        W  OE     5.11.0-41-generic #45~20.04.1-Ubuntu
[ 3076.255691] Hardware name: AMD Splinter/Splinter-RPL, BIOS VS2326337N.FD 02/07/2022
[ 3076.255706] RIP: 0010:0x0
[ 3076.255718] Code: Unable to access opcode bytes at RIP 0xffffffffffffffd6.
[ 3076.255732] RSP: 0018:ffffb64283e3fc10 EFLAGS: 00010297
[ 3076.255744] RAX: 0000000000000000 RBX: 0000000000000008 RCX: 0000000000000027
[ 3076.255759] RDX: ffffb64283e3fc1e RSI: 0000000000000008 RDI: ffff8c7a87f60000
[ 3076.255776] RBP: ffffb64283e3fc78 R08: ffff8c7d88518ac0 R09: ffffb64283e3fa60
[ 3076.255791] R10: 0000000000000001 R11: 0000000000000001 R12: 000000000000000f
[ 3076.255805] R13: ffff8c7bdcea5800 R14: ffff8c7a9f3f3000 R15: ffff8c7a8696bc00
[ 3076.255820] FS:  0000000000000000(0000) GS:ffff8c7d88500000(0000) knlGS:0000000000000000
[ 3076.255839] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 3076.255851] CR2: ffffffffffffffd6 CR3: 0000000109e3c000 CR4: 0000000000750ee0
[ 3076.255866] PKRU: 55555554
[ 3076.255873] Call Trace:
[ 3076.255884]  dbgdev_wave_reset_wavefronts+0x72/0x160 [amdgpu]
[ 3076.256025]  process_termination_cpsch.cold+0x26/0x2f [amdgpu]
[ 3076.256182]  ? ktime_get_mono_fast_ns+0x4e/0xa0
[ 3076.256196]  kfd_process_dequeue_from_all_devices+0x49/0x70 [amdgpu]
[ 3076.256328]  kfd_process_notifier_release+0x187/0x2b0 [amdgpu]
[ 3076.256451]  ? mn_itree_inv_end+0xdc/0x110
[ 3076.256463]  __mmu_notifier_release+0x74/0x1f0
[ 3076.256474]  exit_mmap+0x170/0x200
[ 3076.256484]  ? __handle_mm_fault+0x677/0x920
[ 3076.256496]  ? _cond_resched+0x19/0x30
[ 3076.256507]  mmput+0x5d/0x130
[ 3076.256518]  do_exit+0x332/0xaf0
[ 3076.256526]  ? handle_mm_fault+0xd7/0x2b0
[ 3076.256537]  do_group_exit+0x43/0xa0
[ 3076.256548]  __x64_sys_exit_group+0x18/0x20
[ 3076.256559]  do_syscall_64+0x38/0x90
[ 3076.256569]  entry_SYSCALL_64_after_hwframe+0x44/0xa9

Signed-off-by: Yifan Zhang <yifan1.zhang@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2022-03-04 13:03:30 -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 drm/amdkfd: Delete a duplicate statement in set_pasid_vmid_mapping() 2018-11-05 14:21:13 -05:00
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: Fix saving the ACC vgprs for Aldebaran 2021-03-23 22:56:55 -04:00
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 saving the ACC vgprs for Aldebaran 2021-03-23 22:56:55 -04:00
Kconfig drm/amdkfd: Add CONFIG_HSA_AMD_SVM 2021-04-20 21:50:35 -04:00
kfd_chardev.c drm/amdkfd: Print bdf in peer map failure message 2022-02-23 14:26:35 -05:00
kfd_crat.c drm/amdkfd: make CRAT table missing message informational only 2022-02-22 14:52:39 -05:00
kfd_crat.h drm/amdkfd: Fix leftover errors and warnings 2022-02-14 15:08:40 -05:00
kfd_debugfs.c drm/amdkfd: Fix leftover errors and warnings 2022-02-14 15:08:40 -05: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_vi.c drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_device_queue_manager.c drm/amdkfd: judge get_atc_vmid_pasid_mapping_info before call 2022-03-04 13:03:30 -05:00
kfd_device_queue_manager.h drm/amdkfd: Fix leftover errors and warnings 2022-02-14 15:08:40 -05:00
kfd_device.c drm/amdkfd: Fix leftover errors and warnings 2022-02-14 15:08:40 -05:00
kfd_doorbell.c drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_events.c drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_events.h drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05: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 return value check for queue eviction 2022-02-16 17:30:02 -05:00
kfd_interrupt.c drm/amdkfd: Use real device for messages 2022-02-23 14:02:50 -05: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 leftover errors and warnings 2022-02-14 15:08:40 -05:00
kfd_migrate.h drm/amdkfd: fix svm_migrate_fini warning 2021-09-23 16:34:57 -04: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_vi.c drm/amdkfd: Fix leftover errors and warnings 2022-02-14 15:08:40 -05:00
kfd_mqd_manager.c drm/amdkfd: Fix leftover errors and warnings 2022-02-14 15:08:40 -05: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: Use real device for messages 2022-02-23 14:02:50 -05:00
kfd_process_queue_manager.c drm/amdkfd: Fix for possible integer overflow 2022-02-23 14:02:50 -05:00
kfd_process.c drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_queue.c drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_smi_events.c drm/amdkfd: Add SMI add event helper 2022-03-02 18:40:05 -05:00
kfd_smi_events.h drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
kfd_svm.c Revert "drm/amdkfd: process_info lock not needed for svm" 2022-03-02 18:40:05 -05:00
kfd_svm.h drm/amdkfd: CRIU resume shared virtual memory ranges 2022-02-07 17:59:53 -05:00
kfd_topology.c drm/amdkfd: Fix leftover errors and warnings 2022-02-14 15:08:40 -05:00
kfd_topology.h drm/amdkfd: update SPDX license header 2022-02-14 15:08:40 -05:00
Makefile drm/amdkfd: Remove unused old debugger implementation 2022-02-09 16:57:51 -05:00
soc15_int.h drm/amdkfd: add sdma poison consumption handling 2021-06-07 14:57:24 -04:00