drm/amdkfd: Fix leak in dmabuf import
Release dmabuf reference before returning from kfd_ioctl_import_dmabuf. amdgpu_amdkfd_gpuvm_import_dmabuf takes a reference to the underlying GEM BO and doesn't keep the reference to the dmabuf wrapper. Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com> Reviewed-by: Kent Russell <kent.russell@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
68fce5f07c
commit
c897934da1
@ -1736,6 +1736,7 @@ static int kfd_ioctl_import_dmabuf(struct file *filep,
|
|||||||
}
|
}
|
||||||
|
|
||||||
mutex_unlock(&p->mutex);
|
mutex_unlock(&p->mutex);
|
||||||
|
dma_buf_put(dmabuf);
|
||||||
|
|
||||||
args->handle = MAKE_HANDLE(args->gpu_id, idr_handle);
|
args->handle = MAKE_HANDLE(args->gpu_id, idr_handle);
|
||||||
|
|
||||||
@ -1745,6 +1746,7 @@ err_free:
|
|||||||
amdgpu_amdkfd_gpuvm_free_memory_of_gpu(dev->kgd, (struct kgd_mem *)mem, NULL);
|
amdgpu_amdkfd_gpuvm_free_memory_of_gpu(dev->kgd, (struct kgd_mem *)mem, NULL);
|
||||||
err_unlock:
|
err_unlock:
|
||||||
mutex_unlock(&p->mutex);
|
mutex_unlock(&p->mutex);
|
||||||
|
dma_buf_put(dmabuf);
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user