From: Mika Kuoppala Date: Mon, 12 Nov 2012 12:20:19 +0000 (+0200) Subject: drm/i915: fix possible NULL dereference of dev_priv X-Git-Tag: v3.8-rc1~82^2^2~21 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=4f1ba0f83a6d4abd055cf75af43954b38df8dcaf;p=karo-tx-linux.git drm/i915: fix possible NULL dereference of dev_priv Dereference dev_priv only after we know it is valid. Found with smatch. Signed-off-by: Mika Kuoppala Signed-off-by: Daniel Vetter --- diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c index a48e4910ea2c..4ea331b931fd 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c @@ -1045,7 +1045,7 @@ static int i915_set_status_page(struct drm_device *dev, void *data, { drm_i915_private_t *dev_priv = dev->dev_private; drm_i915_hws_addr_t *hws = data; - struct intel_ring_buffer *ring = LP_RING(dev_priv); + struct intel_ring_buffer *ring; if (drm_core_check_feature(dev, DRIVER_MODESET)) return -ENODEV; @@ -1065,6 +1065,7 @@ static int i915_set_status_page(struct drm_device *dev, void *data, DRM_DEBUG_DRIVER("set status page addr 0x%08x\n", (u32)hws->addr); + ring = LP_RING(dev_priv); ring->status_page.gfx_addr = hws->addr & (0x1ffff<<12); dev_priv->dri1.gfx_hws_cpu_addr =