From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Carpenter Date: Tue, 18 Jun 2019 12:56:23 +0000 Subject: [PATCH] drm: return -EFAULT if copy_one_buf() fails Message-Id: <20190618125623.GA24896@mwanda> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Al Viro Cc: Maxime Ripard , kernel-janitors@vger.kernel.org, dri-devel@lists.freedesktop.org, David Airlie , Sean Paul The copy_to_user() function returns the number of bytes remaining to be copied, but we want to return -EFAULT. This function is called from __drm_legacy_infobufs() which expects negative error codes. Fixes: 5c7640ab6258 ("switch compat_drm_infobufs() to drm_ioctl_kernel()") Signed-off-by: Dan Carpenter --- This goes through Al's tree and not through drm. Presumably this patch will just get folded into the original. drivers/gpu/drm/drm_bufs.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/drm_bufs.c b/drivers/gpu/drm/drm_bufs.c index 68dacf8422c6..8ce9d73fab4f 100644 --- a/drivers/gpu/drm/drm_bufs.c +++ b/drivers/gpu/drm/drm_bufs.c @@ -1351,7 +1351,10 @@ static int copy_one_buf(void *data, int count, struct drm_buf_entry *from) .size = from->buf_size, .low_mark = from->low_mark, .high_mark = from->high_mark}; - return copy_to_user(to, &v, offsetof(struct drm_buf_desc, flags)); + + if (copy_to_user(to, &v, offsetof(struct drm_buf_desc, flags))) + return -EFAULT; + return 0; } int drm_legacy_infobufs(struct drm_device *dev, void *data, -- 2.20.1 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Carpenter Subject: [PATCH] drm: return -EFAULT if copy_one_buf() fails Date: Tue, 18 Jun 2019 15:56:23 +0300 Message-ID: <20190618125623.GA24896@mwanda> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from userp2130.oracle.com (userp2130.oracle.com [156.151.31.86]) by gabe.freedesktop.org (Postfix) with ESMTPS id 23D676E157 for ; Tue, 18 Jun 2019 12:58:44 +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: Al Viro Cc: Maxime Ripard , kernel-janitors@vger.kernel.org, dri-devel@lists.freedesktop.org, David Airlie , Sean Paul List-Id: dri-devel@lists.freedesktop.org VGhlIGNvcHlfdG9fdXNlcigpIGZ1bmN0aW9uIHJldHVybnMgdGhlIG51bWJlciBvZiBieXRlcyBy ZW1haW5pbmcgdG8gYmUKY29waWVkLCBidXQgd2Ugd2FudCB0byByZXR1cm4gLUVGQVVMVC4gIFRo aXMgZnVuY3Rpb24gaXMgY2FsbGVkIGZyb20KX19kcm1fbGVnYWN5X2luZm9idWZzKCkgd2hpY2gg ZXhwZWN0cyBuZWdhdGl2ZSBlcnJvciBjb2Rlcy4KCkZpeGVzOiA1Yzc2NDBhYjYyNTggKCJzd2l0 Y2ggY29tcGF0X2RybV9pbmZvYnVmcygpIHRvIGRybV9pb2N0bF9rZXJuZWwoKSIpClNpZ25lZC1v ZmYtYnk6IERhbiBDYXJwZW50ZXIgPGRhbi5jYXJwZW50ZXJAb3JhY2xlLmNvbT4KLS0tClRoaXMg Z29lcyB0aHJvdWdoIEFsJ3MgdHJlZSBhbmQgbm90IHRocm91Z2ggZHJtLiAgUHJlc3VtYWJseSB0 aGlzIHBhdGNoCndpbGwganVzdCBnZXQgZm9sZGVkIGludG8gdGhlIG9yaWdpbmFsLgoKIGRyaXZl cnMvZ3B1L2RybS9kcm1fYnVmcy5jIHwgNSArKysrLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0 aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1f YnVmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9idWZzLmMKaW5kZXggNjhkYWNmODQyMmM2Li44 Y2U5ZDczZmFiNGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYnVmcy5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9kcm1fYnVmcy5jCkBAIC0xMzUxLDcgKzEzNTEsMTAgQEAgc3RhdGlj IGludCBjb3B5X29uZV9idWYodm9pZCAqZGF0YSwgaW50IGNvdW50LCBzdHJ1Y3QgZHJtX2J1Zl9l bnRyeSAqZnJvbSkKIAkJCQkgLnNpemUgPSBmcm9tLT5idWZfc2l6ZSwKIAkJCQkgLmxvd19tYXJr ID0gZnJvbS0+bG93X21hcmssCiAJCQkJIC5oaWdoX21hcmsgPSBmcm9tLT5oaWdoX21hcmt9Owot CXJldHVybiBjb3B5X3RvX3VzZXIodG8sICZ2LCBvZmZzZXRvZihzdHJ1Y3QgZHJtX2J1Zl9kZXNj LCBmbGFncykpOworCisJaWYgKGNvcHlfdG9fdXNlcih0bywgJnYsIG9mZnNldG9mKHN0cnVjdCBk cm1fYnVmX2Rlc2MsIGZsYWdzKSkpCisJCXJldHVybiAtRUZBVUxUOworCXJldHVybiAwOwogfQog CiBpbnQgZHJtX2xlZ2FjeV9pbmZvYnVmcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpk YXRhLAotLSAKMi4yMC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmkt ZGV2ZWw=