drm/panthor: Restrict high priorities on group_create
authorMary Guillemard <mary.guillemard@collabora.com>
Tue, 3 Sep 2024 14:49:55 +0000 (16:49 +0200)
committerBoris Brezillon <boris.brezillon@collabora.com>
Thu, 5 Sep 2024 07:33:33 +0000 (09:33 +0200)
commit5f7762042f8a5377bd8a32844db353c0311a7369
tree590b5bd8875bc131bbb4c6778f0834a138e0745a
parent9a71cf8b6fa433a8f243626ba9930a3870584e38
drm/panthor: Restrict high priorities on group_create

We were allowing any users to create a high priority group without any
permission checks. As a result, this was allowing possible denial of
service.

We now only allow the DRM master or users with the CAP_SYS_NICE
capability to set higher priorities than PANTHOR_GROUP_PRIORITY_MEDIUM.

As the sole user of that uAPI lives in Mesa and hardcode a value of
MEDIUM [1], this should be safe to do.

Additionally, as those checks are performed at the ioctl level,
panthor_group_create now only check for priority level validity.

[1]https://gitlab.freedesktop.org/mesa/mesa/-/blob/f390835074bdf162a63deb0311d1a6de527f9f89/src/gallium/drivers/panfrost/pan_csf.c#L1038

Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Fixes: de8548813824 ("drm/panthor: Add the scheduler logical block")
Cc: stable@vger.kernel.org
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240903144955.144278-2-mary.guillemard@collabora.com
drivers/gpu/drm/panthor/panthor_drv.c
drivers/gpu/drm/panthor/panthor_sched.c
include/uapi/drm/panthor_drm.h