drm/msm: return an error pointer in msm_gem_prime_get_sg_table()
authorDan Carpenter <dan.carpenter@oracle.com>
Thu, 5 May 2022 10:28:05 +0000 (13:28 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 14 Jun 2022 14:53:49 +0000 (16:53 +0200)
[ Upstream commit cf575e31611eb6dccf08fad02e57e35b2187704d ]

The msm_gem_prime_get_sg_table() needs to return error pointers on
error.  This is called from drm_gem_map_dma_buf() and returning a
NULL will lead to a crash in that function.

Fixes: ac45146733b0 ("drm/msm: fix msm_gem_prime_get_sg_table()")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Patchwork: https://patchwork.freedesktop.org/patch/485023/
Link: https://lore.kernel.org/r/YnOmtS5tfENywR9m@kili
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/msm/msm_gem_prime.c

index 13403c6da6c75012fa5f17f4b0b63075ddf20874..7e4664968106ff7dc4980f1a3ef91acf519f10e3 100644 (file)
@@ -26,7 +26,7 @@ struct sg_table *msm_gem_prime_get_sg_table(struct drm_gem_object *obj)
        int npages = obj->size >> PAGE_SHIFT;
 
        if (WARN_ON(!msm_obj->pages))  /* should have already pinned! */
-               return NULL;
+               return ERR_PTR(-ENOMEM);
 
        return drm_prime_pages_to_sg(msm_obj->pages, npages);
 }