[PATCH] i915: cast before shifting in i915_pte_count

Alan gnomes at lxorguk.ukuu.org.uk
Wed Feb 17 14:20:46 UTC 2016


Otherwise a pde_shift big enough to overflow a u32 will be truncated before
assignment

Signed-off-by: Alan Cox <alan at linux.intel.com>
---
 drivers/gpu/drm/i915/i915_gem_gtt.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.h b/drivers/gpu/drm/i915/i915_gem_gtt.h
index 66a6da2..368d111 100644
--- a/drivers/gpu/drm/i915/i915_gem_gtt.h
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.h
@@ -418,7 +418,7 @@ static inline uint32_t i915_pte_index(uint64_t address, uint32_t pde_shift)
 static inline uint32_t i915_pte_count(uint64_t addr, size_t length,
 				      uint32_t pde_shift)
 {
-	const uint64_t mask = ~((1 << pde_shift) - 1);
+	const uint64_t mask = ~((1ULL << pde_shift) - 1);
 	uint64_t end;
 
 	WARN_ON(length == 0);



More information about the dri-devel mailing list