drm/msm/gpu: Don't allow zero fence_id
authorRob Clark <robdclark@chromium.org>
Mon, 29 Nov 2021 18:23:44 +0000 (10:23 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 27 Jan 2022 10:03:32 +0000 (11:03 +0100)
[ Upstream commit ca3ffcbeb0c866d9b0cb38eaa2bd4416597b5966 ]

Elsewhere we treat zero as "no fence" and __msm_gem_submit_destroy()
skips removal from fence_idr.  We could alternately change this to use
negative values for "no fence" but I think it is more clear to not allow
zero as a valid fence_id.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Fixes: a61acbbe9cf8 ("drm/msm: Track "seqno" fences by idr")
Link: https://lore.kernel.org/r/20211129182344.292609-1-robdclark@gmail.com
Signed-off-by: Rob Clark <robdclark@chromium.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/msm/msm_gem_submit.c

index d9aef97eb93ad82c22d1e91e2a90661a6e66694a..7fb7ff043bcd798bec8fcfeaec2cc883ab373c88 100644 (file)
@@ -887,7 +887,7 @@ int msm_ioctl_gem_submit(struct drm_device *dev, void *data,
         * to the underlying fence.
         */
        submit->fence_id = idr_alloc_cyclic(&queue->fence_idr,
-                       submit->user_fence, 0, INT_MAX, GFP_KERNEL);
+                       submit->user_fence, 1, INT_MAX, GFP_KERNEL);
        if (submit->fence_id < 0) {
                ret = submit->fence_id = 0;
                submit->fence_id = 0;