[PATCH] drm/exynos: Drop unbalanced obj unref

From: Rob Clark
Date: Thu Jan 19 2023 - 18:21:24 EST


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