i915: cast before shifting in i915_pte_count
Otherwise a pde_shift big enough to overflow a u32 will be truncated before assignment Note: We never asked for ranges spanning a 4G boundary, so this issue doesn't cause a real problem. Signed-off-by: Alan Cox <alan@linux.intel.com> [danvet: Add note why this isn't a real problem.] Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: http://patchwork.freedesktop.org/patch/msgid/20160217142043.4947.60447.stgit@localhost.localdomain
This commit is contained in:
parent
ecb2448218
commit
69603dbb31
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue