]> Pileus Git - ~andy/linux/commit
drm/i915: Use unsigned for overflow checks in execbuf
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 19 Sep 2013 12:00:11 +0000 (14:00 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 1 Oct 2013 05:45:03 +0000 (07:45 +0200)
commitb205ca572159ab9a617fc96e4659bc138064ca8e
tree58c79755a243b608c6edd2903afb49a21b9a1070
parent955382f3895f644855b56893067b1b23c63893dd
drm/i915: Use unsigned for overflow checks in execbuf

There's actually no real risk since we already check for stricter
constraints earlier (using UINT_MAX / sizeof (struct
drm_i915_gem_exec_object2) as the limit). But in eb_create we use
signed integers, which steals a factor of 2. Luckily struct
drm_i915_gem_exec_object2 for this to not matter.

Still, be consistent and use unsigned integers.

Similar use unsinged integers when checking for overflows in the
relocation entry processing.

I've also added a new subtests to igt/gem_reloc_overflow to also
test for overflowing args->buffer_count values.

v2: Give the variables again tighter scope to make it clear that the
computation is purely local and doesn't leak out to the 2nd block.
Requested by Chris Wilson.

Cc: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_gem_execbuffer.c