[PATCH] drm/ingenic: fix error code in ingenic_drm_gem_create_object()

Thomas Zimmermann tzimmermann at suse.de
Thu Dec 9 08:10:57 UTC 2021


FYI this issue was fixed by [1]. Please don't merge.

[1] 
https://lore.kernel.org/dri-devel/20211130095255.26710-1-tzimmermann@suse.de/

Am 18.11.21 um 12:15 schrieb Dan Carpenter:
> The ->gem_create_object() function pointers are supposed to return NULL
> on error.  This function returns an error pointer but none of the
> callers expect that so it will lead to an Oops.  See drm_gem_vram_create()
> for example of it checks for NULL but an error pointer would lead to a
> crash.
> 
> Fixes: 4a791cb6d34f ("drm/ingenic: Add option to alloc cached GEM buffers")
> Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
> ---
>   drivers/gpu/drm/ingenic/ingenic-drm-drv.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/ingenic/ingenic-drm-drv.c b/drivers/gpu/drm/ingenic/ingenic-drm-drv.c
> index a5df1c8d34cd..eb7266a0b037 100644
> --- a/drivers/gpu/drm/ingenic/ingenic-drm-drv.c
> +++ b/drivers/gpu/drm/ingenic/ingenic-drm-drv.c
> @@ -757,7 +757,7 @@ ingenic_drm_gem_create_object(struct drm_device *drm, size_t size)
>   
>   	obj = kzalloc(sizeof(*obj), GFP_KERNEL);
>   	if (!obj)
> -		return ERR_PTR(-ENOMEM);
> +		return NULL;
>   
>   	obj->map_noncoherent = priv->soc_info->map_noncoherent;
>   
> 

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Ivo Totev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20211209/c15aad37/attachment-0001.sig>


More information about the dri-devel mailing list