From 55820e1e840def3802fc366607f2b25e31036ab1 Mon Sep 17 00:00:00 2001 From: Damien Lespiau Date: Sat, 30 Aug 2014 16:51:00 +0100 Subject: [PATCH] drm/i915: Don't overrun the intel_wa_regs array When entering intel_ring_emit_wa() with num_wa_regs equal to I915_MAX_WA_REGS, we end up indexing the intel_wa_regs array beyond its allocation. Fix the check then. Signed-off-by: Damien Lespiau Reviewed-by: Arun Siluvery Signed-off-by: Daniel Vetter --- drivers/gpu/drm/i915/intel_ringbuffer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c index 12135ef36060..96618c0c5085 100644 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c @@ -663,7 +663,7 @@ static inline void intel_ring_emit_wa(struct intel_engine_cs *ring, struct drm_device *dev = ring->dev; struct drm_i915_private *dev_priv = dev->dev_private; - if (dev_priv->num_wa_regs > I915_MAX_WA_REGS) + if (dev_priv->num_wa_regs >= I915_MAX_WA_REGS) return; intel_ring_emit(ring, MI_LOAD_REGISTER_IMM(1)); -- 2.30.2