Commit fdc454c1 authored by Michel Thierry's avatar Michel Thierry Committed by Daniel Vetter

drm/i915: Prevent out of range pt in gen6_for_each_pde

Found by static analysis tool, this was harmless as the pt was not
used out of scope though.

Introduced by commit 678d96fb
("drm/i915: Track GEN6 page table usage").

Cc: Mika Kuoppala <mika.kuoppala@intel.com>
Signed-off-by: default avatarMichel Thierry <michel.thierry@intel.com>
Reviewed-by: default avatarMika Kuoppala <mika.kuoppala@intel.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent 2c60fae1
...@@ -339,9 +339,9 @@ struct i915_hw_ppgtt { ...@@ -339,9 +339,9 @@ struct i915_hw_ppgtt {
* XXX: temp is not actually needed, but it saves doing the ALIGN operation. * XXX: temp is not actually needed, but it saves doing the ALIGN operation.
*/ */
#define gen6_for_each_pde(pt, pd, start, length, temp, iter) \ #define gen6_for_each_pde(pt, pd, start, length, temp, iter) \
for (iter = gen6_pde_index(start), pt = (pd)->page_table[iter]; \ for (iter = gen6_pde_index(start); \
length > 0 && iter < I915_PDES; \ pt = (pd)->page_table[iter], length > 0 && iter < I915_PDES; \
pt = (pd)->page_table[++iter], \ iter++, \
temp = ALIGN(start+1, 1 << GEN6_PDE_SHIFT) - start, \ temp = ALIGN(start+1, 1 << GEN6_PDE_SHIFT) - start, \
temp = min_t(unsigned, temp, length), \ temp = min_t(unsigned, temp, length), \
start += temp, length -= temp) start += temp, length -= temp)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment