• Oded Gabbay's avatar
    drm/amdkfd: unbind only existing processes · 121b78e6
    Oded Gabbay authored
    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: default avatarOded Gabbay <oded.gabbay@gmail.com>
    CC: Stable <stable@vger.kernel.org>
    121b78e6
kfd_process.c 12 KB