drm/msm: Disallow submit with fence id 0
authorRob Clark <robdclark@chromium.org>
Mon, 24 Jul 2023 20:30:21 +0000 (13:30 -0700)
committerRob Clark <robdclark@chromium.org>
Wed, 26 Jul 2023 17:50:04 +0000 (10:50 -0700)
A fence id of zero is expected to be invalid, and is not removed from
the fence_idr table.  If userspace is requesting to specify the fence
id with the FENCE_SN_IN flag, we need to reject a zero fence id value.

Fixes: 17154addc5c1 ("drm/msm: Add MSM_SUBMIT_FENCE_SN_IN")
Signed-off-by: Rob Clark <robdclark@chromium.org>
Patchwork: https://patchwork.freedesktop.org/patch/549180/

drivers/gpu/drm/msm/msm_gem_submit.c

index 9d66498..63c9641 100644 (file)
@@ -901,7 +901,7 @@ int msm_ioctl_gem_submit(struct drm_device *dev, void *data,
         * after the job is armed
         */
        if ((args->flags & MSM_SUBMIT_FENCE_SN_IN) &&
-                       idr_find(&queue->fence_idr, args->fence)) {
+                       (!args->fence || idr_find(&queue->fence_idr, args->fence))) {
                spin_unlock(&queue->idr_lock);
                idr_preload_end();
                ret = -EINVAL;