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 <[email protected]>
---
 drivers/gpu/drm/drm_gem_framebuffer_helper.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/drm_gem_framebuffer_helper.c 
b/drivers/gpu/drm/drm_gem_framebuffer_helper.c
index 09e90e19cd93..291f9ae4359d 100644
--- a/drivers/gpu/drm/drm_gem_framebuffer_helper.c
+++ b/drivers/gpu/drm/drm_gem_framebuffer_helper.c
@@ -53,7 +53,11 @@ MODULE_IMPORT_NS(DMA_BUF);
 struct drm_gem_object *drm_gem_fb_get_obj(struct drm_framebuffer *fb,
                                          unsigned int plane)
 {
-       if (plane >= ARRAY_SIZE(fb->obj))
+       struct drm_device *dev = fb->dev;
+
+       if (drm_WARN_ON_ONCE(dev, plane >= ARRAY_SIZE(fb->obj)))
+               return NULL;
+       else if (drm_WARN_ON_ONCE(dev, !fb->obj[plane]))
                return NULL;
 
        return fb->obj[plane];
-- 
2.36.0

Reply via email to