mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 10:31:46 +09:00
drm/i915: Compare user's 64b GTT offset even on 32b
commit0856032874upstream. Beware mixing unsigned long constants and 64b values, as on 32b the constant will be zero extended and discard the high 32b when used as a mask! Reported-by: Sergii Romantsov <sergii.romantsov@globallogic.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108282 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: stable@vger.kernel.org Reviewed-by: Matthew Auld <matthew.auld@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20181025091823.20571-2-chris@chris-wilson.co.uk (cherry picked from commit6fc4e48f9e) Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
a46a7350b1
commit
b4aa9db0b2
@@ -35,7 +35,6 @@
|
||||
#define _GVT_GTT_H_
|
||||
|
||||
#define I915_GTT_PAGE_SHIFT 12
|
||||
#define I915_GTT_PAGE_MASK (~(I915_GTT_PAGE_SIZE - 1))
|
||||
|
||||
struct intel_vgpu_mm;
|
||||
|
||||
|
||||
@@ -458,7 +458,7 @@ eb_validate_vma(struct i915_execbuffer *eb,
|
||||
* any non-page-aligned or non-canonical addresses.
|
||||
*/
|
||||
if (unlikely(entry->flags & EXEC_OBJECT_PINNED &&
|
||||
entry->offset != gen8_canonical_addr(entry->offset & PAGE_MASK)))
|
||||
entry->offset != gen8_canonical_addr(entry->offset & I915_GTT_PAGE_MASK)))
|
||||
return -EINVAL;
|
||||
|
||||
/* pad_to_size was once a reserved field, so sanitize it */
|
||||
|
||||
@@ -49,6 +49,8 @@
|
||||
#define I915_GTT_PAGE_SIZE I915_GTT_PAGE_SIZE_4K
|
||||
#define I915_GTT_MAX_PAGE_SIZE I915_GTT_PAGE_SIZE_2M
|
||||
|
||||
#define I915_GTT_PAGE_MASK -I915_GTT_PAGE_SIZE
|
||||
|
||||
#define I915_GTT_MIN_ALIGNMENT I915_GTT_PAGE_SIZE
|
||||
|
||||
#define I915_FENCE_REG_NONE -1
|
||||
|
||||
Reference in New Issue
Block a user