]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/msm: Reject fb creation from _NO_SHARE objs
authorRob Clark <robin.clark@oss.qualcomm.com>
Wed, 25 Mar 2026 18:59:26 +0000 (11:59 -0700)
committerRob Clark <robin.clark@oss.qualcomm.com>
Tue, 31 Mar 2026 20:47:27 +0000 (13:47 -0700)
It would be an error to map these into kms->vm.  So reject this as early
as possible, when creating an fb.

Fixes: b58e12a66e47 ("drm/msm: Add _NO_SHARE flag")
Signed-off-by: Rob Clark <robin.clark@oss.qualcomm.com>
Patchwork: https://patchwork.freedesktop.org/patch/714264/
Message-ID: <20260325185926.1265661-1-robin.clark@oss.qualcomm.com>

drivers/gpu/drm/msm/msm_fb.c

index 1eff615ff9bffed886c441c16c7cfa9d835a8b67..ce1725990a48d126987a62135799ed4ab2d1fa52 100644 (file)
@@ -219,7 +219,12 @@ static struct drm_framebuffer *msm_framebuffer_init(struct drm_device *dev,
                         + mode_cmd->offsets[i];
 
                if (bos[i]->size < min_size) {
-                       ret = -EINVAL;
+                       ret = UERR(EINVAL, dev, "plane %d too small", i);
+                       goto fail;
+               }
+
+               if (to_msm_bo(bos[i])->flags & MSM_BO_NO_SHARE) {
+                       ret = UERR(EINVAL, dev, "Cannot map _NO_SHARE to kms vm");
                        goto fail;
                }