drm/i915: bounds check execbuffer relocation count
authorKees Cook <keescook@chromium.org>
Tue, 12 Mar 2013 00:31:45 +0000 (17:31 -0700)
committerBen Hutchings <ben@decadent.org.uk>
Wed, 27 Mar 2013 02:41:13 +0000 (02:41 +0000)
commit48e308efbd714ce74b0db89cfa78941cdebc3568
treea85e7893fe191da304e52f01bc0bce638b807284
parent1464096dd1dacc4bd0cbc9e90d67f09f47292405
drm/i915: bounds check execbuffer relocation count

commit 3118a4f652c7b12c752f3222af0447008f9b2368 upstream.

It is possible to wrap the counter used to allocate the buffer for
relocation copies. This could lead to heap writing overflows.

CVE-2013-0913

v3: collapse test, improve comment
v2: move check into validate_exec_list

Signed-off-by: Kees Cook <keescook@chromium.org>
Reported-by: Pinkie Pie
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