diff options
author | 2017-06-29 16:04:25 +0100 | |
---|---|---|
committer | 2017-07-03 16:12:48 +0300 | |
commit | 4ec654bf3a63d503e3c5336eade5c369ae17db56 (patch) | |
tree | 854ea8aa70115e1d8b0c73f14e9417d1790d4220 /tools/perf/scripts/python/call-graph-from-postgresql.py | |
parent | drm/i915: reintroduce VLV/CHV PFI programming power domain workaround (diff) | |
download | wireguard-linux-4ec654bf3a63d503e3c5336eade5c369ae17db56.tar.xz wireguard-linux-4ec654bf3a63d503e3c5336eade5c369ae17db56.zip |
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: 4ff4b44cbb70 ("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
(cherry picked from commit 4d470f7359c4bf22518baa30700ad45649371a22)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Diffstat (limited to 'tools/perf/scripts/python/call-graph-from-postgresql.py')
0 files changed, 0 insertions, 0 deletions