OpenCloudOS-Kernel/drivers/gpu
Chris Wilson 4d470f7359 drm/i915: Avoid undefined behaviour of "u32 >> 32"
When computing a hash for looking up relocation target handles in an
execbuf, we start with a large size for the hashtable and proceed to
halve it until the allocation succeeds. The final attempt is with an
order of 0 (i.e. a single element). This means that we then pass bits=0
to hash_32() which then computes "hash >> (32 - 0)" to lookup the single
element. Right shifting a value by the width of the operand is
undefined, so limit the smallest hash table we use to order 1.

v2: Keep the retry allocation flag for the final pass

Fixes: 4ff4b44cbb ("drm/i915: Store a direct lookup from object handle to vma")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170629150425.27508-1-chris@chris-wilson.co.uk
2017-06-29 16:34:43 +01:00
..
drm drm/i915: Avoid undefined behaviour of "u32 >> 32" 2017-06-29 16:34:43 +01:00
host1x gpu: host1x: select IOMMU_IOVA 2017-05-18 10:41:28 -04:00
ipu-v3 gpu: ipu-v3: don't depend on DRM being enabled 2017-04-04 10:58:56 +02:00
vga Pointer for Markus's image conversion work. 2017-03-14 15:07:33 +01:00
Makefile