[PATCH v3] drm/i915: bounds check execbuffer relocation count

Kees Cook keescook at chromium.org
Thu Mar 14 12:32:00 PDT 2013


On Thu, Mar 14, 2013 at 9:57 AM, Daniel Vetter <daniel.vetter at ffwll.ch> wrote:
> On Wed, Mar 13, 2013 at 9:28 PM, Daniel Vetter <daniel at ffwll.ch> wrote:
>> On Tue, Mar 12, 2013 at 09:07:46AM +0000, Chris Wilson wrote:
>>> On Mon, Mar 11, 2013 at 05:31:45PM -0700, Kees Cook wrote:
>>> > 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 at chromium.org>
>>> > Reported-by: Pinkie Pie
>>> > Cc: stable at vger.kernel.org
>>>
>>> Looks good to me. The only bikeshed that remains is whether we should
>>> just collapse the two variables into one, but the current 'max - count'
>>> is more idiomatic and so preferrable.
>>> Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
>>
>> Picked up for -fixes, thanks for the patch.
>
> I've forgotten to dump my wishlist: Can I have an i-g-t for this? For
> this bug here specifically an execbuf with just one buffer with too
> many relocs plus another execbuf with two buffers with relocation so
> that the 2nd relocation list will overflow should be sufficient.

Sure thing. Where do these live? (Or what docs should I read for
this?) I'm assuming i-g-t means "intel graphics test"? :)

-Kees

-- 
Kees Cook
Chrome OS Security


More information about the dri-devel mailing list