From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754179AbcHSCxU (ORCPT ); Thu, 18 Aug 2016 22:53:20 -0400 Received: from mout.web.de ([212.227.17.11]:53301 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753982AbcHSCxP (ORCPT ); Thu, 18 Aug 2016 22:53:15 -0400 Subject: [PATCH 1/2] GPU-DRM-Savage: Use memdup_user() rather than duplicating To: "dri-devel@lists.freedesktop.org" , Daniel Vetter , David Airlie References: <566ABCD9.1060404@users.sourceforge.net> <77052ac1-1933-49af-3ad8-6e0eecc1aafe@users.sourceforge.net> Cc: LKML , kernel-janitors@vger.kernel.org, Julia Lawall From: SF Markus Elfring Message-ID: <021efa32-c259-e799-a80e-630972291815@users.sourceforge.net> Date: Thu, 18 Aug 2016 21:45:24 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2 MIME-Version: 1.0 In-Reply-To: <77052ac1-1933-49af-3ad8-6e0eecc1aafe@users.sourceforge.net> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:AikSqB5IkAgPlVplVDDm1mTzUXSRXCW+JWmJJYDQ37tuHNMFvNg glpTBw78DP2h37hpotDnvdwplJf/LTvuK4GjPUPlUsF4zVjKQTvNCzLlsD8WbFW/CvYwLZM PHga28R04ziQEAxscpjYB9Ye3QsskCi6KWB9NQbz/LvRSZ/r5Yv0IIgwT9AX6I3/GAe1wjj yYP46qQZhQ5glnzz0yQ+Q== X-UI-Out-Filterresults: notjunk:1;V01:K0:8bjullULV20=:jB04IXJ1bgL0DJ3hnBzaul YGALnJJm0ThYaLVP0SjqBQhVPf19it6ws1yvEqYdxBEEOgTOgBYlLDSGFcxz+D8zW/iy6tWRD 4ImKJlfvfhJ47hoDzes4vv4/T272L0MRTfITDM3yEVl0xUpLOzPzhP53NCvLIONNSLAV6P36j J36iJgcM4mVj7g9S6Y3w3rdq7rR6zMK3QI6xl4Eohxp5+Z+2KflTyUqX1wMMpXA2cGCaLKReu jag2uFKVBDIQm8koDn5Z1gycM1BAznpLDGNjWyF2QRvqLM7DXH8gZgj0+7BLW4Zmc/JfiHsxN Al9TCN52gvhwxxsHgOqoxBlguq0Bkpex/oDVGPsTH0CFFbqi1ecAI/oeTXqTMiCQE9tp6M/ZK ++vBwGvCHiCNOTfn5PThMhnIHBQ8jTC4IiKfIR2zwQZBk7GgzRFM3rJWDxGJ/JKxRZp12yquh lDP8dqW0EPy+3FBawy/hPA/887pusuFrb+QcmcOMjIDVoHhMHxdfCl8O61ThuKZqghxxcHeI7 Gme68JEoVgCR+fmd+G0m4QSfaxpfyavCjuiSdM56FpbHRq+RHzsyQOrNBDF/2V9FTuZaZvSuJ ShKVBMQZHGP+nhvK+5tuHyLGzQZyg+KnkQj9gqhbhy4x7dQcj5FQCo7V3SOubFm4rRlzr2Djp r4qlO164D427Jc3QhBlJ2lYWdTOGlznd6eudczkGpPtcfRTZwTKFrRsQ9V2GqUGshzMJa//Gn 8CbwH82vzRixNQ1sCBA9isBXwSdm2J3l5mxh/pwMKOW5pf2PC+QfdDQ5ME4lS75oCRhw8X9Vx mDXaIAV 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 18:12:03 +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/savage/savage_state.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/drivers/gpu/drm/savage/savage_state.c b/drivers/gpu/drm/savage/savage_state.c index c01ad0a..3dc0d8f 100644 --- a/drivers/gpu/drm/savage/savage_state.c +++ b/drivers/gpu/drm/savage/savage_state.c @@ -1001,15 +1001,9 @@ int savage_bci_cmdbuf(struct drm_device *dev, void *data, struct drm_file *file_ cmdbuf->cmd_addr = kcmd_addr; } if (cmdbuf->vb_size) { - kvb_addr = kmalloc(cmdbuf->vb_size, GFP_KERNEL); - if (kvb_addr == NULL) { - ret = -ENOMEM; - goto done; - } - - if (copy_from_user(kvb_addr, cmdbuf->vb_addr, - cmdbuf->vb_size)) { - ret = -EFAULT; + kvb_addr = memdup_user(cmdbuf->vb_addr, cmdbuf->vb_size); + if (IS_ERR(kvb_addr)) { + ret = PTR_ERR(kvb_addr); goto done; } cmdbuf->vb_addr = kvb_addr; -- 2.9.3