drm/i915: Fix use-after-free of context during free_contexts
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 30 Jun 2017 23:05:17 +0000 (00:05 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 4 Jul 2017 10:55:27 +0000 (11:55 +0100)
commitfad2083483bb7f743486199f90dc042939323453
treee9242564793907441ac200d25b940f7ffd087be2
parenta874b6a3fb22c8c30f36b1f6ba5430a4c2278a6a
drm/i915: Fix use-after-free of context during free_contexts

When iterating the list of contexts to free, we need to use a safe
iterator as we are freeing the link as we go. Pass an extra thick brown
paper bag.

Fixes: 5f09a9c8ab6b ("drm/i915: Allow contexts to be unreferenced locklessly")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Matthew Auld <matthew.auld@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170630230517.1938-1-chris@chris-wilson.co.uk
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
drivers/gpu/drm/i915/i915_gem_context.c