android_kernel_oneplus_msm8998/drivers/gpu/drm/amd
Oded Gabbay cf2e806130 drm/amdkfd: unbind only existing processes
commit 121b78e679ee3ffab780115e260b2775d0cc1f73 upstream.

When unbinding a process from a device (initiated by amd_iommu_v2), the
driver needs to make sure that process still exists in the process table.
There is a possibility that amdkfd's own notifier handler -
kfd_process_notifier_release() - was called before the unbind function
and it already removed the process from the process table.

v2:
Because there can be only one process with the specified pasid, and
because *p can't be NULL inside the hash_for_each_rcu macro, it is more
reasonable to just put the whole code inside the if statement that
compares the pasid value. That way, when we exit hash_for_each_rcu, we
simply exit the function as well.

Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-07-27 09:47:33 -07:00
..
amdgpu drm/amdgpu/gfx7: fix broken condition check 2016-07-27 09:47:33 -07:00
amdkfd drm/amdkfd: unbind only existing processes 2016-07-27 09:47:33 -07:00
include Merge branch 'drm-next-4.4' of git://people.freedesktop.org/~agd5f/linux into drm-next 2015-11-05 10:57:25 +10:00
scheduler drm/amdgpu: fix race condition in amd_sched_entity_push_job 2015-12-02 15:04:04 -05:00