Browse Source

drm: Avoid oops in GEM execbuffers with bad arguments.

Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Eric Anholt 17 years ago
parent
commit
4f481ed22e
1 changed files with 4 additions and 0 deletions
  1. 4 0
      drivers/gpu/drm/i915/i915_gem.c

+ 4 - 0
drivers/gpu/drm/i915/i915_gem.c

@@ -1763,6 +1763,10 @@ i915_gem_execbuffer(struct drm_device *dev, void *data,
 		  (int) args->buffers_ptr, args->buffer_count, args->batch_len);
 #endif
 
+	if (args->buffer_count < 1) {
+		DRM_ERROR("execbuf with %d buffers\n", args->buffer_count);
+		return -EINVAL;
+	}
 	/* Copy in the exec list from userland */
 	exec_list = drm_calloc(sizeof(*exec_list), args->buffer_count,
 			       DRM_MEM_DRIVER);