diff mbox series

drm/msm: return an error pointer in msm_gem_prime_get_sg_table()

Message ID YnOmtS5tfENywR9m@kili (mailing list archive)
State New, archived
Headers show
Series drm/msm: return an error pointer in msm_gem_prime_get_sg_table() | expand

Commit Message

Dan Carpenter May 5, 2022, 10:28 a.m. UTC
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>
---
 drivers/gpu/drm/msm/msm_gem_prime.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Dmitry Baryshkov May 6, 2022, 9:33 p.m. UTC | #1
On 05/05/2022 13:28, Dan Carpenter wrote:
> 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>

> ---
>   drivers/gpu/drm/msm/msm_gem_prime.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/msm/msm_gem_prime.c b/drivers/gpu/drm/msm/msm_gem_prime.c
> index e8f1b7a2ca9c..94ab705e9b8a 100644
> --- a/drivers/gpu/drm/msm/msm_gem_prime.c
> +++ b/drivers/gpu/drm/msm/msm_gem_prime.c
> @@ -17,7 +17,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(obj->dev, msm_obj->pages, npages);
>   }
diff mbox series

Patch

diff --git a/drivers/gpu/drm/msm/msm_gem_prime.c b/drivers/gpu/drm/msm/msm_gem_prime.c
index e8f1b7a2ca9c..94ab705e9b8a 100644
--- a/drivers/gpu/drm/msm/msm_gem_prime.c
+++ b/drivers/gpu/drm/msm/msm_gem_prime.c
@@ -17,7 +17,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(obj->dev, msm_obj->pages, npages);
 }