Make sure that the tail we get from hardware fits
within the bounds dictated by our count of csb entries.

Cc: Chris Wilson <[email protected]>
Cc: Joonas Lahtinen <[email protected]>
Signed-off-by: Mika Kuoppala <[email protected]>
---
 drivers/gpu/drm/i915/intel_lrc.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
index 107244ab09ef..1a34e91c1305 100644
--- a/drivers/gpu/drm/i915/intel_lrc.c
+++ b/drivers/gpu/drm/i915/intel_lrc.c
@@ -888,6 +888,7 @@ static void process_csb(struct intel_engine_cs *engine)
         */
        head = execlists->csb_head;
        tail = READ_ONCE(*execlists->csb_write);
+       GEM_DEBUG_BUG_ON(tail >= execlists->csb_entries);
        GEM_TRACE("%s cs-irq head=%d, tail=%d\n", engine->name, head, tail);
        if (unlikely(head == tail))
                return;
-- 
2.17.1

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to