summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBoris Brezillon <boris.brezillon@collabora.com>2021-05-21 11:38:11 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-04-13 16:48:25 +0200
commit6f2180c5273a7da94121d8d42a1c4a36501374e3 (patch)
tree97610893f0b0e724506097fde371868c61756ae9
parenta184df0de132df4f88f36ac765b0e4b4eee6ff61 (diff)
downloadlinux-stable-6f2180c5273a7da94121d8d42a1c4a36501374e3.tar.gz
linux-stable-6f2180c5273a7da94121d8d42a1c4a36501374e3.tar.bz2
linux-stable-6f2180c5273a7da94121d8d42a1c4a36501374e3.zip
drm/panfrost: Fix the panfrost_mmu_map_fault_addr() error path
commit 764a2ab9eb56e1200083e771aab16186836edf1d upstream. Make sure all bo->base.pages entries are either NULL or pointing to a valid page before calling drm_gem_shmem_put_pages(). Reported-by: Tomeu Vizoso <tomeu.vizoso@collabora.com> Cc: <stable@vger.kernel.org> Fixes: 187d2929206e ("drm/panfrost: Add support for GPU heap allocations") Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> Reviewed-by: Steven Price <steven.price@arm.com> Link: https://patchwork.freedesktop.org/patch/msgid/20210521093811.1018992-1-boris.brezillon@collabora.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/gpu/drm/panfrost/panfrost_mmu.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/panfrost/panfrost_mmu.c b/drivers/gpu/drm/panfrost/panfrost_mmu.c
index d6dda97e2591..b5ee076c2841 100644
--- a/drivers/gpu/drm/panfrost/panfrost_mmu.c
+++ b/drivers/gpu/drm/panfrost/panfrost_mmu.c
@@ -469,6 +469,7 @@ static int panfrost_mmu_map_fault_addr(struct panfrost_device *pfdev, int as,
if (IS_ERR(pages[i])) {
mutex_unlock(&bo->base.pages_lock);
ret = PTR_ERR(pages[i]);
+ pages[i] = NULL;
goto err_pages;
}
}