From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755751AbcHXSpj (ORCPT ); Wed, 24 Aug 2016 14:45:39 -0400 Received: from mout.web.de ([212.227.15.14]:49664 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753078AbcHXSph (ORCPT ); Wed, 24 Aug 2016 14:45:37 -0400 Subject: [PATCH v2 2/2] KVM: s390: Use memdup_user() rather than duplicating code To: kvm@vger.kernel.org, linux-s390@vger.kernel.org, =?UTF-8?Q?Christian_Borntr=c3=a4ger?= , Cornelia Huck , David Hildenbrand , Heiko Carstens , Martin Schwidefsky , Paolo Bonzini , =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= References: <82b84c9c-38a4-4d17-910f-312668dbae01@users.sourceforge.net> Cc: LKML , kernel-janitors@vger.kernel.org, Julia Lawall , Walter Harms From: SF Markus Elfring Message-ID: Date: Wed, 24 Aug 2016 20:40:03 +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: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:McZ4ThkLnBP29cVTKuwSA0g21K7MTFxbmTCJqa7j5wUd72p5DrK 3EtKY0MbCgu4JdJ5GLhTt6yHmq2lskIaav0PWZkmmuxJvDaw8D7H+HrlIcxJqBwq89TY1/D L/8ioQB07KHVfjhERW6a2yED6u3aHIA7GExFalWwgFbbTioe88Uv85QC8iuDoukV95as7UP smDVl0tI4eAHAZkaRNzFw== X-UI-Out-Filterresults: notjunk:1;V01:K0:IBioPXE170E=:7Co7hrIh/injCpkiYjj/MH aR0q/H6NhgJN+aZd/K1vxPHL8f+ZBUVRcz6aHLGvsH2hVO4GV0hs6URxRIQq3i80owa+AxqFQ q/ioCAUuaGPEd8a2m9fWkW+jnj3N7NLDEaMkKxO0C+wU2cX8dPVWqqpK2j6Gr6HdVgXvUL9rV XwUL77t04xfNXCjVvysPhx6dztA15dSsp3K9Lx0sWoDRp6p/aDbqNfs5H7hhwhghpjztQbigc jfIBcSCuh0Vwul9uNcQ7FVXJlO9wNIWoTNbBl89rfWGya72P1HcwoY9vIdckMMd7Ely7A/RV9 NUZSgFifHrzwcQkHNXCLp9NU81e0RdeZfEVwdOr9i9fTB9wk3B0yIfRSda4MEFPZU038l3WNG BdpK0griACED+FZXXjeMbkhiF9tLS2NuBOaoXXqYkO3pk1cy/v3hkgTiluC29LhT+DoZ8ttvU 8Ej7OQj4nFagD+3vTMyIRpY0BO/1aL2uvN8iD/nhUVsJSJaCXFVG63b9ElP5inLVpPZj/wgw/ ziMw03Q1KMiGxxWMPvyrbE7KkEju14Zo+GMue2IvVfYSxUpQ1VaHU4mVDMPU/EpA63oPftGOs 5XzzRXF/vJPsankb843rf1/cdl7fFznccsGmnW2nG/F1QNJ2F7pTJ97FESukcsN7zunV1/Ruk pFvGCZl3b9gnEtTZ7bZWVTJNCkvXShBtCUEFoql5HOYfq00mDc4w67vmuorQ+nFNYDFsa76/a 8AP1VwPNmIJrc/E243mQAeA3JhpbSrJKMCJkal7ngWl3o47SyHCCSVsBe0/rh2T7xHlGEEANQ viwt6X5 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Markus Elfring Date: Wed, 24 Aug 2016 20:10:09 +0200 * Reuse existing functionality from memdup_user() instead of keeping duplicate source code. This issue was detected by using the Coccinelle software. * Return directly if this copy operation failed. Reviewed-by: David Hildenbrand Signed-off-by: Markus Elfring --- v2: Rebased on source files from "Linux next-20160824". arch/s390/kvm/guestdbg.c | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/arch/s390/kvm/guestdbg.c b/arch/s390/kvm/guestdbg.c index 70b71ac..d7c6a7f 100644 --- a/arch/s390/kvm/guestdbg.c +++ b/arch/s390/kvm/guestdbg.c @@ -216,20 +216,10 @@ int kvm_s390_import_bp_data(struct kvm_vcpu *vcpu, else if (dbg->arch.nr_hw_bp > MAX_BP_COUNT) return -EINVAL; - bp_data = kmalloc_array(dbg->arch.nr_hw_bp, - sizeof(*bp_data), - GFP_KERNEL); - if (!bp_data) { - ret = -ENOMEM; - goto error; - } - - if (copy_from_user(bp_data, - dbg->arch.hw_bp, - sizeof(*bp_data) * dbg->arch.nr_hw_bp)) { - ret = -EFAULT; - goto error; - } + bp_data = memdup_user(dbg->arch.hw_bp, + sizeof(*bp_data) * dbg->arch.nr_hw_bp); + if (IS_ERR(bp_data)) + return PTR_ERR(bp_data); for (i = 0; i < dbg->arch.nr_hw_bp; i++) { switch (bp_data[i].type) { -- 2.9.3 From mboxrd@z Thu Jan 1 00:00:00 1970 From: SF Markus Elfring Date: Wed, 24 Aug 2016 18:40:03 +0000 Subject: [PATCH v2 2/2] KVM: s390: Use memdup_user() rather than duplicating code Message-Id: List-Id: References: <82b84c9c-38a4-4d17-910f-312668dbae01@users.sourceforge.net> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: kvm@vger.kernel.org, linux-s390@vger.kernel.org, =?UTF-8?Q?Christian_Borntr=c3=a4ger?= , Cornelia Huck , David Hildenbrand , Heiko Carstens , Martin Schwidefsky , Paolo Bonzini , =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= Cc: LKML , kernel-janitors@vger.kernel.org, Julia Lawall , Walter Harms From: Markus Elfring Date: Wed, 24 Aug 2016 20:10:09 +0200 * Reuse existing functionality from memdup_user() instead of keeping duplicate source code. This issue was detected by using the Coccinelle software. * Return directly if this copy operation failed. Reviewed-by: David Hildenbrand Signed-off-by: Markus Elfring --- v2: Rebased on source files from "Linux next-20160824". arch/s390/kvm/guestdbg.c | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/arch/s390/kvm/guestdbg.c b/arch/s390/kvm/guestdbg.c index 70b71ac..d7c6a7f 100644 --- a/arch/s390/kvm/guestdbg.c +++ b/arch/s390/kvm/guestdbg.c @@ -216,20 +216,10 @@ int kvm_s390_import_bp_data(struct kvm_vcpu *vcpu, else if (dbg->arch.nr_hw_bp > MAX_BP_COUNT) return -EINVAL; - bp_data = kmalloc_array(dbg->arch.nr_hw_bp, - sizeof(*bp_data), - GFP_KERNEL); - if (!bp_data) { - ret = -ENOMEM; - goto error; - } - - if (copy_from_user(bp_data, - dbg->arch.hw_bp, - sizeof(*bp_data) * dbg->arch.nr_hw_bp)) { - ret = -EFAULT; - goto error; - } + bp_data = memdup_user(dbg->arch.hw_bp, + sizeof(*bp_data) * dbg->arch.nr_hw_bp); + if (IS_ERR(bp_data)) + return PTR_ERR(bp_data); for (i = 0; i < dbg->arch.nr_hw_bp; i++) { switch (bp_data[i].type) { -- 2.9.3