drm/fb_dma: Add checks in drm_fb_dma_get_scanout_buffer()
authorJocelyn Falempe <jfalempe@redhat.com>
Fri, 26 Apr 2024 12:10:50 +0000 (14:10 +0200)
committerJocelyn Falempe <jfalempe@redhat.com>
Tue, 30 Apr 2024 14:25:46 +0000 (16:25 +0200)
plane->state and plane->state->fb can be NULL, so add a check before
dereferencing them.
Found by testing with the imx driver.

Fixes: 879b3b6511fe ("drm/fb_dma: Add generic get_scanout_buffer() for drm_panic")
Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20240426121121.241366-1-jfalempe@redhat.com
drivers/gpu/drm/drm_fb_dma_helper.c

index 96e5ab9..e1d61a6 100644 (file)
@@ -167,6 +167,9 @@ int drm_fb_dma_get_scanout_buffer(struct drm_plane *plane,
        struct drm_gem_dma_object *dma_obj;
        struct drm_framebuffer *fb;
 
+       if (!plane->state || !plane->state->fb)
+               return -EINVAL;
+
        fb = plane->state->fb;
        /* Only support linear modifier */
        if (fb->modifier != DRM_FORMAT_MOD_LINEAR)