From: Rob Clark <robdclark@xxxxxxxxxxxx> In the error path, exynos_drm_gem_mmap() was dropping an obj reference that it doesn't own. Fixes: 832316c704fe ("drm/exynos: use drm generic mmap interface") Signed-off-by: Rob Clark <robdclark@xxxxxxxxxxxx> --- drivers/gpu/drm/exynos/exynos_drm_gem.c | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/drivers/gpu/drm/exynos/exynos_drm_gem.c b/drivers/gpu/drm/exynos/exynos_drm_gem.c index 3e493f48e0d4..65bca61e63a3 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_gem.c +++ b/drivers/gpu/drm/exynos/exynos_drm_gem.c @@ -363,7 +363,6 @@ int exynos_drm_gem_dumb_create(struct drm_file *file_priv, static int exynos_drm_gem_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma) { struct exynos_drm_gem *exynos_gem = to_exynos_gem(obj); - int ret; if (obj->import_attach) return dma_buf_mmap(obj->dma_buf, vma, 0); @@ -383,16 +382,7 @@ static int exynos_drm_gem_mmap(struct drm_gem_object *obj, struct vm_area_struct vma->vm_page_prot = pgprot_noncached(vm_get_page_prot(vma->vm_flags)); - ret = exynos_drm_gem_mmap_buffer(exynos_gem, vma); - if (ret) - goto err_close_vm; - - return ret; - -err_close_vm: - drm_gem_vm_close(vma); - - return ret; + return exynos_drm_gem_mmap_buffer(exynos_gem, vma); } /* low-level interface prime helpers */ -- 2.38.1