Эх сурвалжийг харах

drm/amdgpu: Fix race condition in MMU notifier release

The release notifier can get called a second time from
mmu_notifier_unregister depending on a race between
__mmu_notifier_release and amdgpu_mn_destroy. Use
mmu_notifier_unregister_no_release to avoid this.

Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Felix Kuehling 10 жил өмнө
parent
commit
fa5b500030

+ 1 - 1
drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c

@@ -86,7 +86,7 @@ static void amdgpu_mn_destroy(struct work_struct *work)
 	}
 	}
 	mutex_unlock(&adev->mn_lock);
 	mutex_unlock(&adev->mn_lock);
 	up_write(&rmn->mm->mmap_sem);
 	up_write(&rmn->mm->mmap_sem);
-	mmu_notifier_unregister(&rmn->mn, rmn->mm);
+	mmu_notifier_unregister_no_release(&rmn->mn, rmn->mm);
 	kfree(rmn);
 	kfree(rmn);
 }
 }