drivers/gpu/drm/panthor/panthor_sched.c | 3 +++ 1 file changed, 3 insertions(+)
A panthor group can have at most MAX_CS_PER_CSG panthor queues.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
---
drivers/gpu/drm/panthor/panthor_sched.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/panthor/panthor_sched.c b/drivers/gpu/drm/panthor/panthor_sched.c
index ba5dc3e443d9c..249ab889ca91f 100644
--- a/drivers/gpu/drm/panthor/panthor_sched.c
+++ b/drivers/gpu/drm/panthor/panthor_sched.c
@@ -3473,6 +3473,9 @@ int panthor_group_create(struct panthor_file *pfile,
hweight64(group_args->tiler_core_mask) < group_args->max_tiler_cores)
return -EINVAL;
+ if (group_args->queues.count > MAX_CS_PER_CSG)
+ return -EINVAL;
+
group = kzalloc(sizeof(*group), GFP_KERNEL);
if (!group)
return -ENOMEM;
--
2.51.0.338.gd7d06c2dae-goog
On 02/09/2025 20:20, Chia-I Wu wrote:
> A panthor group can have at most MAX_CS_PER_CSG panthor queues.
>
> Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Good catch - that's a nasty bug.
I think this should have:
Fixes: de8548813824 ("drm/panthor: Add the scheduler logical block")
> ---
> drivers/gpu/drm/panthor/panthor_sched.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/gpu/drm/panthor/panthor_sched.c b/drivers/gpu/drm/panthor/panthor_sched.c
> index ba5dc3e443d9c..249ab889ca91f 100644
> --- a/drivers/gpu/drm/panthor/panthor_sched.c
> +++ b/drivers/gpu/drm/panthor/panthor_sched.c
> @@ -3473,6 +3473,9 @@ int panthor_group_create(struct panthor_file *pfile,
> hweight64(group_args->tiler_core_mask) < group_args->max_tiler_cores)
> return -EINVAL;
>
> + if (group_args->queues.count > MAX_CS_PER_CSG)
> + return -EINVAL;
> +
I think this check would be better moved up to
panthor_ioctl_group_create() (where we already have a zero check). But
either way:
Reviewed-by: Steven Price <steven.price@arm.com>
Thanks,
Steve
> group = kzalloc(sizeof(*group), GFP_KERNEL);
> if (!group)
> return -ENOMEM;
On Tue, 2 Sep 2025 12:20:01 -0700 Chia-I Wu <olvaffe@gmail.com> wrote: > A panthor group can have at most MAX_CS_PER_CSG panthor queues. > > Signed-off-by: Chia-I Wu <olvaffe@gmail.com> With a proper Fixes tag, this is Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com> > --- > drivers/gpu/drm/panthor/panthor_sched.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/gpu/drm/panthor/panthor_sched.c b/drivers/gpu/drm/panthor/panthor_sched.c > index ba5dc3e443d9c..249ab889ca91f 100644 > --- a/drivers/gpu/drm/panthor/panthor_sched.c > +++ b/drivers/gpu/drm/panthor/panthor_sched.c > @@ -3473,6 +3473,9 @@ int panthor_group_create(struct panthor_file *pfile, > hweight64(group_args->tiler_core_mask) < group_args->max_tiler_cores) > return -EINVAL; > > + if (group_args->queues.count > MAX_CS_PER_CSG) > + return -EINVAL; > + > group = kzalloc(sizeof(*group), GFP_KERNEL); > if (!group) > return -ENOMEM;
© 2016 - 2026 Red Hat, Inc.