drm/gma500: Fix potential NULL pointer dereference
fb is being dereferenced before it is null checked, hence there is a potential null pointer dereference. Fix this by moving the pointer dereference after fb has been properly null checked at line 74: if (!fb) Addresses-Coverity-ID: 1470169 ("Dereference before null check") Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20180625121844.GA12466@embeddedor.com
This commit is contained in:
parent
a63d3bd230
commit
80c18ba11a
|
@ -60,7 +60,7 @@ int gma_pipe_set_base(struct drm_crtc *crtc, int x, int y,
|
||||||
struct drm_psb_private *dev_priv = dev->dev_private;
|
struct drm_psb_private *dev_priv = dev->dev_private;
|
||||||
struct gma_crtc *gma_crtc = to_gma_crtc(crtc);
|
struct gma_crtc *gma_crtc = to_gma_crtc(crtc);
|
||||||
struct drm_framebuffer *fb = crtc->primary->fb;
|
struct drm_framebuffer *fb = crtc->primary->fb;
|
||||||
struct gtt_range *gtt = to_gtt_range(fb->obj[0]);
|
struct gtt_range *gtt;
|
||||||
int pipe = gma_crtc->pipe;
|
int pipe = gma_crtc->pipe;
|
||||||
const struct psb_offset *map = &dev_priv->regmap[pipe];
|
const struct psb_offset *map = &dev_priv->regmap[pipe];
|
||||||
unsigned long start, offset;
|
unsigned long start, offset;
|
||||||
|
@ -76,6 +76,8 @@ int gma_pipe_set_base(struct drm_crtc *crtc, int x, int y,
|
||||||
goto gma_pipe_cleaner;
|
goto gma_pipe_cleaner;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gtt = to_gtt_range(fb->obj[0]);
|
||||||
|
|
||||||
/* We are displaying this buffer, make sure it is actually loaded
|
/* We are displaying this buffer, make sure it is actually loaded
|
||||||
into the GTT */
|
into the GTT */
|
||||||
ret = psb_gtt_pin(gtt);
|
ret = psb_gtt_pin(gtt);
|
||||||
|
|
Loading…
Reference in a new issue