提交 55820e1e 编写于 作者: D Damien Lespiau 提交者: Daniel Vetter

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: NDamien Lespiau <damien.lespiau@intel.com>
Reviewed-by: NArun Siluvery <arun.siluvery@linux.intel.com>
Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
上级 1ed1ef9d
......@@ -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));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册