drm/i915: fix integer overflow in i915_gem_do_execbuffer()
authorXi Wang <xi.wang@gmail.com>
Mon, 23 Apr 2012 08:06:42 +0000 (04:06 -0400)
committerBen Hutchings <ben@decadent.org.uk>
Fri, 11 May 2012 12:14:40 +0000 (13:14 +0100)
commitc9b310ee2b2a50ffaa6ea0ca9226c64a12ed0c54
treeec7d1349d8724f3e1678910483b31c95ec09bd98
parenta9206caacef21a1eeee7083d8fb188cfeb15fd52
drm/i915: fix integer overflow in i915_gem_do_execbuffer()

commit 44afb3a04391a74309d16180d1e4f8386fdfa745 upstream.

On 32-bit systems, a large args->num_cliprects from userspace via ioctl
may overflow the allocation size, leading to out-of-bounds access.

This vulnerability was introduced in commit 432e58ed ("drm/i915: Avoid
allocation for execbuffer object list").

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/gpu/drm/i915/i915_gem_execbuffer.c