Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/gem: Warn on trying to use a non-existing framebuffer plane

Warn if callers of drm_gem_fb_get_obj() try to use a GEM buffer for
a non-existing or unset plane.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Tested-by: Noralf Trønnes <noralf@tronnes.org>
Acked-by: Christian König <christian.koenig@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220517113327.26919-6-tzimmermann@suse.de

+5 -1
+5 -1
drivers/gpu/drm/drm_gem_framebuffer_helper.c
··· 53 53 struct drm_gem_object *drm_gem_fb_get_obj(struct drm_framebuffer *fb, 54 54 unsigned int plane) 55 55 { 56 - if (plane >= ARRAY_SIZE(fb->obj)) 56 + struct drm_device *dev = fb->dev; 57 + 58 + if (drm_WARN_ON_ONCE(dev, plane >= ARRAY_SIZE(fb->obj))) 59 + return NULL; 60 + else if (drm_WARN_ON_ONCE(dev, !fb->obj[plane])) 57 61 return NULL; 58 62 59 63 return fb->obj[plane];