mirror of https://gitee.com/openkylin/linux.git
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 678d96fbb3
("drm/i915: Track GEN6 page table usage").
Cc: Mika Kuoppala <mika.kuoppala@intel.com>
Signed-off-by: Michel Thierry <michel.thierry@intel.com>
Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
2c60fae148
commit
fdc454c148
|
@ -339,9 +339,9 @@ struct i915_hw_ppgtt {
|
|||
* XXX: temp is not actually needed, but it saves doing the ALIGN operation.
|
||||
*/
|
||||
#define gen6_for_each_pde(pt, pd, start, length, temp, iter) \
|
||||
for (iter = gen6_pde_index(start), pt = (pd)->page_table[iter]; \
|
||||
length > 0 && iter < I915_PDES; \
|
||||
pt = (pd)->page_table[++iter], \
|
||||
for (iter = gen6_pde_index(start); \
|
||||
pt = (pd)->page_table[iter], length > 0 && iter < I915_PDES; \
|
||||
iter++, \
|
||||
temp = ALIGN(start+1, 1 << GEN6_PDE_SHIFT) - start, \
|
||||
temp = min_t(unsigned, temp, length), \
|
||||
start += temp, length -= temp)
|
||||
|
|
Loading…
Reference in New Issue