Unverified Commit 75a6f412 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!6055 [sync] PR-6017: drm/amdgpu: fix use-after-free bug

parents 1a199472 3e36b63c
Loading
Loading
Loading
Loading
+16 −4
Original line number Diff line number Diff line
@@ -132,13 +132,25 @@ static const struct mmu_interval_notifier_ops amdgpu_mn_hsa_ops = {
 */
int amdgpu_mn_register(struct amdgpu_bo *bo, unsigned long addr)
{
	int r;

	if (bo->kfd_bo)
		return mmu_interval_notifier_insert(&bo->notifier, current->mm,
		r = mmu_interval_notifier_insert(&bo->notifier, current->mm,
						    addr, amdgpu_bo_size(bo),
						    &amdgpu_mn_hsa_ops);
	return mmu_interval_notifier_insert(&bo->notifier, current->mm, addr,
	else
		r = mmu_interval_notifier_insert(&bo->notifier, current->mm, addr,
							amdgpu_bo_size(bo),
							&amdgpu_mn_gfx_ops);
	if (r)
		/*
		 * Make sure amdgpu_mn_unregister() doesn't call
		 * mmu_interval_notifier_remove() when the notifier isn't properly
		 * initialized.
		 */
		bo->notifier.mm = NULL;

	return r;
}

/**