]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
drm/panfrost: Put mapping instead of shmem obj on panfrost_mmu_map_fault_addr() error
authorDmitry Osipenko <dmitry.osipenko@collabora.com>
Thu, 30 Jun 2022 20:06:00 +0000 (23:06 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 21 Jul 2022 19:20:01 +0000 (21:20 +0200)
commit fb6e0637ab7ebd8e61fe24f4d663c4bae99cfa62 upstream.

When panfrost_mmu_map_fault_addr() fails, the BO's mapping should be
unreferenced and not the shmem object which backs the mapping.

Cc: stable@vger.kernel.org
Fixes: bdefca2d8dc0 ("drm/panfrost: Add the panfrost_gem_mapping concept")
Reviewed-by: Steven Price <steven.price@arm.com>
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Signed-off-by: Steven Price <steven.price@arm.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220630200601.1884120-2-dmitry.osipenko@collabora.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/panfrost/panfrost_mmu.c

index 7fc45b13a52c27c79219fa703ec7b12bf391d64b..13596961ae17ffaa70c4261c226f4391d9549bc5 100644 (file)
@@ -491,7 +491,7 @@ err_map:
 err_pages:
        drm_gem_shmem_put_pages(&bo->base);
 err_bo:
-       drm_gem_object_put(&bo->base.base);
+       panfrost_gem_mapping_put(bomapping);
        return ret;
 }