On Thu, Jun 25, 2015 at 06:39:30PM +0300, Mika Kuoppala wrote: > Michel Thierry <michel.thierry@xxxxxxxxx> writes: > > > If for some reason [1], the page directory/table does not exist, clear_range > > would end up in an infinite while loop. > > > > Introduced by commit 06fda602dbca ("drm/i915: Create page table allocators"). > > > > [1] This is already being addressed in one of Mika's patches: > > http://mid.gmane.org/1432314314-23530-17-git-send-email-mika.kuoppala@xxxxxxxxx > > > > We need both. > > > Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> > > Reported-by: John Harrison <john.c.harrison@xxxxxxxxx> > > Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> > > Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Since the offending commit is in 4.1 this is for Jani. Cc: stable@xxxxxxxxxxxxxxx Cheers, Daniel > > > --- > > drivers/gpu/drm/i915/i915_gem_gtt.c | 6 +++--- > > 1 file changed, 3 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c > > index 2279e03..5dbe928 100644 > > --- a/drivers/gpu/drm/i915/i915_gem_gtt.c > > +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c > > @@ -517,17 +517,17 @@ static void gen8_ppgtt_clear_range(struct i915_address_space *vm, > > struct page *page_table; > > > > if (WARN_ON(!ppgtt->pdp.page_directory[pdpe])) > > - continue; > > + break; > > > > pd = ppgtt->pdp.page_directory[pdpe]; > > > > if (WARN_ON(!pd->page_table[pde])) > > - continue; > > + break; > > > > pt = pd->page_table[pde]; > > > > if (WARN_ON(!pt->page)) > > - continue; > > + break; > > > > page_table = pt->page; > > > > -- > > 2.4.4 > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx