]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Fix list corruption in vma_unbind
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 29 Aug 2013 17:50:31 +0000 (19:50 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 4 Sep 2013 15:34:52 +0000 (17:34 +0200)
commit6c4ad620a173cc2dabaf617cfe4a9b760daddbbf
tree19e5a86946cb0774fdd2008b069fb067b0b38bd9
parentbf1537fc7fa2d21ce6dd17a0182fac54a887ee4a
drm/i915: Fix list corruption in vma_unbind

The saga around the breadcrumb vmas used by execbuf continues ...

This time around we've managed to unconditionally move the object to
the unbound list on the last vma unbind even though it might never
have been on either the bound or unbound list. Hilarity ensued.

Chris Wilson tracked this one down but compared to his patches I've
simply opted to completely separate the unbound case for not-yet bound
vmas. Otherwise we imo end up with semantically hard to parse checks
around the list_move_tail(global_list, ...).

Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Ben Widawsky <ben@bwidawsk.net>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=68462
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_gem.c