Quoting Tvrtko Ursulin (2017-06-22 12:36:37) > > On 22/06/2017 11:47, Chris Wilson wrote: > > commit 2889caa92321 ("drm/i915: Eliminate lots of iterations over the > > execobjects array") jiggled around the error handling and replace a test > > that we cleaned up properly after ourselves with an assertion. That > > assertion failed because in the release function (moments after the > > assertion) we were indeed forgetting to mark the vma as cleared. The > > consequence was when testing an invalid relocation address, we would try > > to release the vma twice (following the couple of attempts to verify the > > address) and on the second release notice that the first release was > > incomplete. > > > > Testcase: igt/gem_reloc_overflow/invalid-address > > Fixes: 2889caa92321 ("drm/i915: Eliminate lots of iterations over the execobjects array") > > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > > Cc: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> > > Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> > > --- > > drivers/gpu/drm/i915/i915_gem_execbuffer.c | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c > > index b2457556591c..ec33b358fba9 100644 > > --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c > > +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c > > @@ -879,6 +879,7 @@ static void eb_release_vmas(const struct i915_execbuffer *eb) > > > > GEM_BUG_ON(vma->exec_entry != entry); > > vma->exec_entry = NULL; > > + __exec_to_vma(entry) = 0; > > > > if (entry->flags & __EXEC_OBJECT_HAS_PIN) > > __eb_unreserve_vma(vma, entry); > > > > Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Thanks for the quick review, pushed for Tomi's sake. -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx