OSDN Git Service

drm/gma500: fix null dereference of pointer fb before null check
authorColin Ian King <colin.king@canonical.com>
Mon, 16 Dec 2019 16:21:36 +0000 (16:21 +0000)
committerPatrik Jakobsson <patrik.r.jakobsson@gmail.com>
Thu, 19 Dec 2019 14:33:40 +0000 (15:33 +0100)
Pointer fb is being dereferenced when assigning dev before it
is null checked.  Fix this by only dereferencing dev after the
null check.

Fixes: 6b7ce2c4161a ("drm/gma500: Remove struct psb_fbdev")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191216162136.270114-1-colin.king@canonical.com
drivers/gpu/drm/gma500/accel_2d.c

index b9e5a38..adc0507 100644 (file)
@@ -228,8 +228,8 @@ static void psbfb_copyarea_accel(struct fb_info *info,
 {
        struct drm_fb_helper *fb_helper = info->par;
        struct drm_framebuffer *fb = fb_helper->fb;
-       struct drm_device *dev = fb->dev;
-       struct drm_psb_private *dev_priv = dev->dev_private;
+       struct drm_device *dev;
+       struct drm_psb_private *dev_priv;
        uint32_t offset;
        uint32_t stride;
        uint32_t src_format;
@@ -238,6 +238,8 @@ static void psbfb_copyarea_accel(struct fb_info *info,
        if (!fb)
                return;
 
+       dev = fb->dev;
+       dev_priv = dev->dev_private;
        offset = to_gtt_range(fb->obj[0])->offset;
        stride = fb->pitches[0];