From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754810AbcHSBLC (ORCPT ); Thu, 18 Aug 2016 21:11:02 -0400 Received: from mout.web.de ([212.227.15.4]:49621 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754052AbcHSBJY (ORCPT ); Thu, 18 Aug 2016 21:09:24 -0400 To: dri-devel@lists.freedesktop.org, virtualization@lists.linux-foundation.org, David Airlie , Gerd Hoffmann Cc: LKML , kernel-janitors@vger.kernel.org, Julia Lawall From: SF Markus Elfring Subject: [PATCH] virtio-gpu: Use memdup_user() rather than duplicating its implementation Message-ID: <401e68fc-5515-7a7a-be2e-503dee676b34@users.sourceforge.net> Date: Thu, 18 Aug 2016 22:42:06 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:twrtCrxKIkezG3gQufD0xnCDeRHD0peKder0ZLfnRMzaHg26ozt e2JQMainfqgSDnZ84bHsAEUYeVqLxiY5tMZAb+MzJp7IJtN0ncvNx2dsfE/k07Yk1QNtUX7 FwKCroQ/qpD+oA7h1EXghNze42ltLvSRelZUWpXd9/fu/sfTvOPEjlBzrt7MIUEhE8xRp7x 62DQsVZNUmsL3GF/VCxMg== X-UI-Out-Filterresults: notjunk:1;V01:K0:0NzvOBPsXGw=:KMpt3Smyh/NJqmaeV9yVmn 0bhZ3ApKDpSHgmTRmo5Sf7KhF/Vhe1GdB065hkhpmxAbPDkCv+B2e/qMHC1QqoiO6KBSwNpre MWSiKUw7InQMS0T8xWmk/2EqVsXXaL5le+yysAqxmNB/qISUWTql++ViV+UJ7Ats+zr+8yIZP NUBPESgW/JJYBCBz9pK8XenTcQxLiDMLJvZC6hnJs67FyaIEUHuFSpRQSpbEq/ED0bWLEpGhk QZ36qTbunVClvKpdX4ONHouofFiBYs5tuSjeyQgN9TE2Fd2Xbi7m0ZRjS5kZlXX5iAEc7aJFn QkHmlj+XcpF3jmn/dR081t6csQbkSbr08kfN9aWhpcXnXmmLDNEHInrMS7kr8Il83tcXFyqn0 ZU/spSRQ+UcbMV2X4vOq95zPbgIa0xGe3hNtMU+L70rlH1WCqlW9b7vjDCZ65FWkUNgkRK2Eu LfJf8YU1O4Xxx6J+4A1rVrngCqoJutQXQwZY6mBSKR5EsAA2zJKxfiEzGbPaNCSwZqX7q+JEk bmbQ1f/sipJbKxiTQlA2E3uWi3pc3e/RUN/JedgMTeAb2RgKe+hOpbS0HJ6BPIJGlAEiR3k+/ Og4LtHBW8S7AN6Ty3zmd7y1IXKHtHj+yjoIjt8hpwG2FW9ASgC55knE56eOXJq+dFeKPLj2jb Ux4Pg7m+QMiTnJSuZieO2HYEIFoG0QxnvNMGfU9J3BrH33C64Teqkbm9BHVZl2CH6tef20xVp ckp+cCAT3kMmEBPdcOtMTFwsYGuFLq357VjA59qiyPd6k2f7ZgbMjpwQdIeK7JNlsBtlUa1/m SknrdAo Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 --- 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