|
@@ -2648,6 +2648,14 @@ i915_gem_object_bind_to_gtt(struct drm_gem_object *obj, unsigned alignment)
|
|
|
return -EINVAL;
|
|
|
}
|
|
|
|
|
|
+ /* If the object is bigger than the entire aperture, reject it early
|
|
|
+ * before evicting everything in a vain attempt to find space.
|
|
|
+ */
|
|
|
+ if (obj->size > dev->gtt_total) {
|
|
|
+ DRM_ERROR("Attempting to bind an object larger than the aperture\n");
|
|
|
+ return -E2BIG;
|
|
|
+ }
|
|
|
+
|
|
|
search_free:
|
|
|
free_space = drm_mm_search_free(&dev_priv->mm.gtt_space,
|
|
|
obj->size, alignment, 0);
|