From 28873ce34cbca57bcc0e09d33f1395318a193788 Mon Sep 17 00:00:00 2001 From: Mika Kuoppala Date: Mon, 11 May 2015 12:28:50 +0300 Subject: [PATCH 1/3] drm/i915/gtt: Fix the boundary check for vm area MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The check for start + length >= total_vm_size is wrong since start + length can exactly size of the vm. Fix the check to allow allocation to boundary. Fixes a regression in: commit 4dd738e9cd791ebac2a009f09f1761e85e7f0805 Author: Michel Thierry Date: Thu Apr 30 16:06:51 2015 +0100 drm/i915: Fix 32b overflow check in gen8_ppgtt_alloc_page_directories Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90399 Cc: Chris Wilson Cc: Dave Gordon Cc: Ville Syrjälä Cc: Michel Thierry Signed-off-by: Mika Kuoppala --- drivers/gpu/drm/i915/i915_gem_gtt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c index e3bcc3b..17b7df0 100644 --- a/drivers/gpu/drm/i915/i915_gem_gtt.c +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c @@ -757,7 +757,7 @@ static int gen8_ppgtt_alloc_page_directories(struct i915_hw_ppgtt *ppgtt, WARN_ON(!bitmap_empty(new_pds, GEN8_LEGACY_PDPES)); /* FIXME: upper bound must not overflow 32 bits */ - WARN_ON((start + length) >= (1ULL << 32)); + WARN_ON((start + length) > (1ULL << 32)); gen8_for_each_pdpe(pd, pdp, start, length, temp, pdpe) { if (pd) -- 1.9.1