[Intel-gfx] [PATCH] drm/i915: Clear execbuf's vma backpointer upon release

Chris Wilson chris at chris-wilson.co.uk
Thu Jun 22 12:01:36 UTC 2017


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 at chris-wilson.co.uk>
> > Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
> > Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> > ---
> >   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 at intel.com>

Thanks for the quick review, pushed for Tomi's sake.
-Chris


More information about the Intel-gfx mailing list