On 28/06/2024 15:55, Boris Brezillon wrote:
> The user is likely to leave all the drm_panthor_obj_array fields
> to zero when the array is empty, which will cause an EINVAL failure.
> 
> Fixes: 4bdca1150792 ("drm/panthor: Add the driver frontend block")
> Signed-off-by: Boris Brezillon <boris.brezil...@collabora.com>

Reviewed-by: Steven Price <steven.pr...@arm.com>

> ---
>  drivers/gpu/drm/panthor/panthor_drv.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/panthor/panthor_drv.c 
> b/drivers/gpu/drm/panthor/panthor_drv.c
> index b8a84f26b3ef..b5e7b919f241 100644
> --- a/drivers/gpu/drm/panthor/panthor_drv.c
> +++ b/drivers/gpu/drm/panthor/panthor_drv.c
> @@ -86,15 +86,15 @@ panthor_get_uobj_array(const struct drm_panthor_obj_array 
> *in, u32 min_stride,
>       int ret = 0;
>       void *out_alloc;
>  
> +     if (!in->count)
> +             return NULL;
> +
>       /* User stride must be at least the minimum object size, otherwise it 
> might
>        * lack useful information.
>        */
>       if (in->stride < min_stride)
>               return ERR_PTR(-EINVAL);
>  
> -     if (!in->count)
> -             return NULL;
> -
>       out_alloc = kvmalloc_array(in->count, obj_size, GFP_KERNEL);
>       if (!out_alloc)
>               return ERR_PTR(-ENOMEM);

Reply via email to