From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Carpenter Date: Thu, 13 Oct 2016 08:54:31 +0000 Subject: [patch] drm/vc4: Fix a couple error codes in vc4_cl_lookup_bos() Message-Id: <20161013085431.GI16198@mwanda> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Eric Anholt Cc: kernel-janitors@vger.kernel.org, dri-devel@lists.freedesktop.org If the allocation fails the current code returns success. If copy_from_user() fails it returns the number of bytes remaining instead of -EFAULT. Fixes: d5b1a78a772f ("drm/vc4: Add support for drawing 3D frames.") Signed-off-by: Dan Carpenter diff --git a/drivers/gpu/drm/vc4/vc4_gem.c b/drivers/gpu/drm/vc4/vc4_gem.c index 47a095f..303f23c 100644 --- a/drivers/gpu/drm/vc4/vc4_gem.c +++ b/drivers/gpu/drm/vc4/vc4_gem.c @@ -544,14 +544,15 @@ vc4_cl_lookup_bos(struct drm_device *dev, handles = drm_malloc_ab(exec->bo_count, sizeof(uint32_t)); if (!handles) { + ret = -ENOMEM; DRM_ERROR("Failed to allocate incoming GEM handles\n"); goto fail; } - ret = copy_from_user(handles, - (void __user *)(uintptr_t)args->bo_handles, - exec->bo_count * sizeof(uint32_t)); - if (ret) { + if (copy_from_user(handles, + (void __user *)(uintptr_t)args->bo_handles, + exec->bo_count * sizeof(uint32_t))) { + ret = -EFAULT; DRM_ERROR("Failed to copy in GEM handles\n"); goto fail; } From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Carpenter Subject: [patch] drm/vc4: Fix a couple error codes in vc4_cl_lookup_bos() Date: Thu, 13 Oct 2016 11:54:31 +0300 Message-ID: <20161013085431.GI16198@mwanda> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from userp1040.oracle.com (userp1040.oracle.com [156.151.31.81]) by gabe.freedesktop.org (Postfix) with ESMTPS id B877E6E3BD for ; Thu, 13 Oct 2016 08:54:52 +0000 (UTC) Content-Disposition: inline List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Eric Anholt Cc: kernel-janitors@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org SWYgdGhlIGFsbG9jYXRpb24gZmFpbHMgdGhlIGN1cnJlbnQgY29kZSByZXR1cm5zIHN1Y2Nlc3Mu ICBJZgpjb3B5X2Zyb21fdXNlcigpIGZhaWxzIGl0IHJldHVybnMgdGhlIG51bWJlciBvZiBieXRl cyByZW1haW5pbmcgaW5zdGVhZApvZiAtRUZBVUxULgoKRml4ZXM6IGQ1YjFhNzhhNzcyZiAoImRy bS92YzQ6IEFkZCBzdXBwb3J0IGZvciBkcmF3aW5nIDNEIGZyYW1lcy4iKQpTaWduZWQtb2ZmLWJ5 OiBEYW4gQ2FycGVudGVyIDxkYW4uY2FycGVudGVyQG9yYWNsZS5jb20+CgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9n ZW0uYwppbmRleCA0N2EwOTVmLi4zMDNmMjNjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v dmM0L3ZjNF9nZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9nZW0uYwpAQCAtNTQ0 LDE0ICs1NDQsMTUgQEAgdmM0X2NsX2xvb2t1cF9ib3Moc3RydWN0IGRybV9kZXZpY2UgKmRldiwK IAogCWhhbmRsZXMgPSBkcm1fbWFsbG9jX2FiKGV4ZWMtPmJvX2NvdW50LCBzaXplb2YodWludDMy X3QpKTsKIAlpZiAoIWhhbmRsZXMpIHsKKwkJcmV0ID0gLUVOT01FTTsKIAkJRFJNX0VSUk9SKCJG YWlsZWQgdG8gYWxsb2NhdGUgaW5jb21pbmcgR0VNIGhhbmRsZXNcbiIpOwogCQlnb3RvIGZhaWw7 CiAJfQogCi0JcmV0ID0gY29weV9mcm9tX3VzZXIoaGFuZGxlcywKLQkJCSAgICAgKHZvaWQgX191 c2VyICopKHVpbnRwdHJfdClhcmdzLT5ib19oYW5kbGVzLAotCQkJICAgICBleGVjLT5ib19jb3Vu dCAqIHNpemVvZih1aW50MzJfdCkpOwotCWlmIChyZXQpIHsKKwlpZiAoY29weV9mcm9tX3VzZXIo aGFuZGxlcywKKwkJCSAgICh2b2lkIF9fdXNlciAqKSh1aW50cHRyX3QpYXJncy0+Ym9faGFuZGxl cywKKwkJCSAgIGV4ZWMtPmJvX2NvdW50ICogc2l6ZW9mKHVpbnQzMl90KSkpIHsKKwkJcmV0ID0g LUVGQVVMVDsKIAkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gY29weSBpbiBHRU0gaGFuZGxlc1xuIik7 CiAJCWdvdG8gZmFpbDsKIAl9Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Ry aS1kZXZlbAo=