From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932241AbcHSHu6 (ORCPT ); Fri, 19 Aug 2016 03:50:58 -0400 Received: from mail-wm0-f68.google.com ([74.125.82.68]:33195 "EHLO mail-wm0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755104AbcHSHu4 (ORCPT ); Fri, 19 Aug 2016 03:50:56 -0400 Date: Fri, 19 Aug 2016 09:50:49 +0200 From: Daniel Vetter To: SF Markus Elfring Cc: dri-devel@lists.freedesktop.org, virtualization@lists.linux-foundation.org, David Airlie , Gerd Hoffmann , Julia Lawall , kernel-janitors@vger.kernel.org, LKML Subject: Re: [PATCH] virtio-gpu: Use memdup_user() rather than duplicating its implementation Message-ID: <20160819075049.GV6232@phenom.ffwll.local> Mail-Followup-To: SF Markus Elfring , dri-devel@lists.freedesktop.org, virtualization@lists.linux-foundation.org, David Airlie , Gerd Hoffmann , Julia Lawall , kernel-janitors@vger.kernel.org, LKML References: <401e68fc-5515-7a7a-be2e-503dee676b34@users.sourceforge.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <401e68fc-5515-7a7a-be2e-503dee676b34@users.sourceforge.net> X-Operating-System: Linux phenom 4.6.0-1-amd64 User-Agent: Mutt/1.6.0 (2016-04-01) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Aug 18, 2016 at 10:42:06PM +0200, SF Markus Elfring wrote: > From: Markus Elfring > Date: Thu, 18 Aug 2016 22:35:14 +0200 > > Reuse existing functionality from memdup_user() instead of keeping > duplicate source code. > > This issue was detected by using the Coccinelle software. > > Signed-off-by: Markus Elfring Applied to drm-misc. -Daniel > --- > drivers/gpu/drm/virtio/virtgpu_ioctl.c | 13 ++++--------- > 1 file changed, 4 insertions(+), 9 deletions(-) > > diff --git a/drivers/gpu/drm/virtio/virtgpu_ioctl.c b/drivers/gpu/drm/virtio/virtgpu_ioctl.c > index c046903..512e7cd 100644 > --- a/drivers/gpu/drm/virtio/virtgpu_ioctl.c > +++ b/drivers/gpu/drm/virtio/virtgpu_ioctl.c > @@ -152,15 +152,10 @@ static int virtio_gpu_execbuffer(struct drm_device *dev, > if (ret) > goto out_free; > > - buf = kmalloc(exbuf->size, GFP_KERNEL); > - if (!buf) { > - ret = -ENOMEM; > - goto out_unresv; > - } > - if (copy_from_user(buf, (void __user *)(uintptr_t)exbuf->command, > - exbuf->size)) { > - kfree(buf); > - ret = -EFAULT; > + buf = memdup_user((void __user *)(uintptr_t)exbuf->command, > + exbuf->size); > + if (IS_ERR(buf)) { > + ret = PTR_ERR(buf); > goto out_unresv; > } > virtio_gpu_cmd_submit(vgdev, buf, exbuf->size, > -- > 2.9.3 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Date: Fri, 19 Aug 2016 07:50:49 +0000 Subject: Re: [PATCH] virtio-gpu: Use memdup_user() rather than duplicating its implementation Message-Id: <20160819075049.GV6232@phenom.ffwll.local> List-Id: References: <401e68fc-5515-7a7a-be2e-503dee676b34@users.sourceforge.net> In-Reply-To: <401e68fc-5515-7a7a-be2e-503dee676b34@users.sourceforge.net> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: SF Markus Elfring Cc: kernel-janitors@vger.kernel.org, LKML , dri-devel@lists.freedesktop.org, virtualization@lists.linux-foundation.org, Julia Lawall , Gerd Hoffmann On Thu, Aug 18, 2016 at 10:42:06PM +0200, SF Markus Elfring wrote: > From: Markus Elfring > Date: Thu, 18 Aug 2016 22:35:14 +0200 > > Reuse existing functionality from memdup_user() instead of keeping > duplicate source code. > > This issue was detected by using the Coccinelle software. > > Signed-off-by: Markus Elfring Applied to drm-misc. -Daniel > --- > drivers/gpu/drm/virtio/virtgpu_ioctl.c | 13 ++++--------- > 1 file changed, 4 insertions(+), 9 deletions(-) > > diff --git a/drivers/gpu/drm/virtio/virtgpu_ioctl.c b/drivers/gpu/drm/virtio/virtgpu_ioctl.c > index c046903..512e7cd 100644 > --- a/drivers/gpu/drm/virtio/virtgpu_ioctl.c > +++ b/drivers/gpu/drm/virtio/virtgpu_ioctl.c > @@ -152,15 +152,10 @@ static int virtio_gpu_execbuffer(struct drm_device *dev, > if (ret) > goto out_free; > > - buf = kmalloc(exbuf->size, GFP_KERNEL); > - if (!buf) { > - ret = -ENOMEM; > - goto out_unresv; > - } > - if (copy_from_user(buf, (void __user *)(uintptr_t)exbuf->command, > - exbuf->size)) { > - kfree(buf); > - ret = -EFAULT; > + buf = memdup_user((void __user *)(uintptr_t)exbuf->command, > + exbuf->size); > + if (IS_ERR(buf)) { > + ret = PTR_ERR(buf); > goto out_unresv; > } > virtio_gpu_cmd_submit(vgdev, buf, exbuf->size, > -- > 2.9.3 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH] virtio-gpu: Use memdup_user() rather than duplicating its implementation Date: Fri, 19 Aug 2016 09:50:49 +0200 Message-ID: <20160819075049.GV6232@phenom.ffwll.local> References: <401e68fc-5515-7a7a-be2e-503dee676b34@users.sourceforge.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x243.google.com (mail-wm0-x243.google.com [IPv6:2a00:1450:400c:c09::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id EAECB6EB94 for ; Fri, 19 Aug 2016 07:50:55 +0000 (UTC) Received: by mail-wm0-x243.google.com with SMTP id i5so2376088wmg.2 for ; Fri, 19 Aug 2016 00:50:55 -0700 (PDT) Content-Disposition: inline In-Reply-To: <401e68fc-5515-7a7a-be2e-503dee676b34@users.sourceforge.net> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: SF Markus Elfring Cc: kernel-janitors@vger.kernel.org, LKML , dri-devel@lists.freedesktop.org, virtualization@lists.linux-foundation.org, Julia Lawall , Gerd Hoffmann List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBBdWcgMTgsIDIwMTYgYXQgMTA6NDI6MDZQTSArMDIwMCwgU0YgTWFya3VzIEVsZnJp bmcgd3JvdGU6Cj4gRnJvbTogTWFya3VzIEVsZnJpbmcgPGVsZnJpbmdAdXNlcnMuc291cmNlZm9y Z2UubmV0Pgo+IERhdGU6IFRodSwgMTggQXVnIDIwMTYgMjI6MzU6MTQgKzAyMDAKPiAKPiBSZXVz ZSBleGlzdGluZyBmdW5jdGlvbmFsaXR5IGZyb20gbWVtZHVwX3VzZXIoKSBpbnN0ZWFkIG9mIGtl ZXBpbmcKPiBkdXBsaWNhdGUgc291cmNlIGNvZGUuCj4gCj4gVGhpcyBpc3N1ZSB3YXMgZGV0ZWN0 ZWQgYnkgdXNpbmcgdGhlIENvY2NpbmVsbGUgc29mdHdhcmUuCj4gCj4gU2lnbmVkLW9mZi1ieTog TWFya3VzIEVsZnJpbmcgPGVsZnJpbmdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKQXBwbGllZCB0 byBkcm0tbWlzYy4KLURhbmllbAoKPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0 Z3B1X2lvY3RsLmMgfCAxMyArKysrLS0tLS0tLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2Vy dGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS92aXJ0aW8vdmlydGdwdV9pb2N0bC5jIGIvZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1 X2lvY3RsLmMKPiBpbmRleCBjMDQ2OTAzLi41MTJlN2NkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS92aXJ0aW8vdmlydGdwdV9pb2N0bC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3Zp cnRpby92aXJ0Z3B1X2lvY3RsLmMKPiBAQCAtMTUyLDE1ICsxNTIsMTAgQEAgc3RhdGljIGludCB2 aXJ0aW9fZ3B1X2V4ZWNidWZmZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCWlmIChyZXQp Cj4gIAkJZ290byBvdXRfZnJlZTsKPiAgCj4gLQlidWYgPSBrbWFsbG9jKGV4YnVmLT5zaXplLCBH RlBfS0VSTkVMKTsKPiAtCWlmICghYnVmKSB7Cj4gLQkJcmV0ID0gLUVOT01FTTsKPiAtCQlnb3Rv IG91dF91bnJlc3Y7Cj4gLQl9Cj4gLQlpZiAoY29weV9mcm9tX3VzZXIoYnVmLCAodm9pZCBfX3Vz ZXIgKikodWludHB0cl90KWV4YnVmLT5jb21tYW5kLAo+IC0JCQkgICBleGJ1Zi0+c2l6ZSkpIHsK PiAtCQlrZnJlZShidWYpOwo+IC0JCXJldCA9IC1FRkFVTFQ7Cj4gKwlidWYgPSBtZW1kdXBfdXNl cigodm9pZCBfX3VzZXIgKikodWludHB0cl90KWV4YnVmLT5jb21tYW5kLAo+ICsJCQkgIGV4YnVm LT5zaXplKTsKPiArCWlmIChJU19FUlIoYnVmKSkgewo+ICsJCXJldCA9IFBUUl9FUlIoYnVmKTsK PiAgCQlnb3RvIG91dF91bnJlc3Y7Cj4gIAl9Cj4gIAl2aXJ0aW9fZ3B1X2NtZF9zdWJtaXQodmdk ZXYsIGJ1ZiwgZXhidWYtPnNpemUsCj4gLS0gCj4gMi45LjMKPiAKPiBfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IGRyaS1kZXZlbCBtYWlsaW5nIGxpc3QK PiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwKCi0tIApEYW5pZWwgVmV0dGVyClNv ZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwg bWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK