Merge tag 'drm-for-v4.15' of git://people.freedesktop.org/~airlied/linux
[sfrench/cifs-2.6.git] / drivers / gpu / drm / i915 / i915_gem_context.c
index e304dcbc6042d9e846efda1139f145b338056ac8..f782cf2069c16fc70acec32f49aea8081e0bf694 100644 (file)
@@ -104,12 +104,14 @@ static void lut_close(struct i915_gem_context *ctx)
                kmem_cache_free(ctx->i915->luts, lut);
        }
 
+       rcu_read_lock();
        radix_tree_for_each_slot(slot, &ctx->handles_vma, &iter, 0) {
                struct i915_vma *vma = rcu_dereference_raw(*slot);
 
                radix_tree_iter_delete(&ctx->handles_vma, &iter, slot);
                __i915_gem_object_release_unless_active(vma->obj);
        }
+       rcu_read_unlock();
 }
 
 static void i915_gem_context_free(struct i915_gem_context *ctx)