[PATCH RESEND] drm/vc4: Fix an error code vc4_create_object()

Neil Roberts nroberts at igalia.com
Thu Feb 25 14:57:14 UTC 2021


Dan Carpenter <dan.carpenter at oracle.com> writes:

> The vc4_create_object() needs to return NULL on error, not error
> pointers.  If it returns an error pointer then that will lead to an
> Oops in the callers.  Fortunately, in current kernels small allocations
> always succed so this will never happen.
>
> Fixes: c826a6e10644 ("drm/vc4: Add a BO cache.")
> Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
> ---
> I sent this patch last June but it was never applied.
>
>  drivers/gpu/drm/vc4/vc4_bo.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/vc4/vc4_bo.c b/drivers/gpu/drm/vc4/vc4_bo.c
> index 72d30d90b856c..0af246a5609ca 100644
> --- a/drivers/gpu/drm/vc4/vc4_bo.c
> +++ b/drivers/gpu/drm/vc4/vc4_bo.c
> @@ -389,7 +389,7 @@ struct drm_gem_object *vc4_create_object(struct drm_device *dev, size_t size)
>  
>  	bo = kzalloc(sizeof(*bo), GFP_KERNEL);
>  	if (!bo)
> -		return ERR_PTR(-ENOMEM);
> +		return NULL;

This change looks right to me. For reference, the code that calls it
looks like this:

	if (drm->driver->gem_create_object)
		gem_obj = drm->driver->gem_create_object(drm, size);
        /* … */
	if (!gem_obj)
		return ERR_PTR(-ENOMEM);

Reviewed-by: Neil Roberts <nroberts at igalia.com>

Regards,
- Neil


More information about the dri-devel mailing list