提交 a40e8d31 编写于 作者: O Owain Ainsworth 提交者: Eric Anholt

drm/i915: Correctly return -ENOMEM on allocation failure in cmdbuf ioctls.

Signed-off-by: NOwain G. Ainsworth <oga@openbsd.org>
Signed-off-by: NEric Anholt <eric@anholt.net>
上级 aacef09b
...@@ -735,8 +735,10 @@ static int i915_cmdbuffer(struct drm_device *dev, void *data, ...@@ -735,8 +735,10 @@ static int i915_cmdbuffer(struct drm_device *dev, void *data,
if (cmdbuf->num_cliprects) { if (cmdbuf->num_cliprects) {
cliprects = kcalloc(cmdbuf->num_cliprects, cliprects = kcalloc(cmdbuf->num_cliprects,
sizeof(struct drm_clip_rect), GFP_KERNEL); sizeof(struct drm_clip_rect), GFP_KERNEL);
if (cliprects == NULL) if (cliprects == NULL) {
ret = -ENOMEM;
goto fail_batch_free; goto fail_batch_free;
}
ret = copy_from_user(cliprects, cmdbuf->cliprects, ret = copy_from_user(cliprects, cmdbuf->cliprects,
cmdbuf->num_cliprects * cmdbuf->num_cliprects *
......
...@@ -3688,8 +3688,10 @@ i915_gem_do_execbuffer(struct drm_device *dev, void *data, ...@@ -3688,8 +3688,10 @@ i915_gem_do_execbuffer(struct drm_device *dev, void *data,
if (args->num_cliprects != 0) { if (args->num_cliprects != 0) {
cliprects = kcalloc(args->num_cliprects, sizeof(*cliprects), cliprects = kcalloc(args->num_cliprects, sizeof(*cliprects),
GFP_KERNEL); GFP_KERNEL);
if (cliprects == NULL) if (cliprects == NULL) {
ret = -ENOMEM;
goto pre_mutex_err; goto pre_mutex_err;
}
ret = copy_from_user(cliprects, ret = copy_from_user(cliprects,
(struct drm_clip_rect __user *) (struct drm_clip_rect __user *)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册