From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753609AbcHQSPj (ORCPT ); Wed, 17 Aug 2016 14:15:39 -0400 Received: from mout.web.de ([212.227.15.4]:61062 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752435AbcHQSPh (ORCPT ); Wed, 17 Aug 2016 14:15:37 -0400 Subject: [PATCH 2/4] KVM-S390: Use memdup_user() rather than duplicating its implementation 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 From: SF Markus Elfring Message-ID: Date: Wed, 17 Aug 2016 20:08:49 +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: <82b84c9c-38a4-4d17-910f-312668dbae01@users.sourceforge.net> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:OmFSVfQLZDQHqzyK8FDp5iyDPqMLwWzlJC5w4Q1EIwRZzzJzR6N x1JTJH+XjfV3IszJzrEUneQMXpLXfTwk8wWBhW3VSd5hzRqK0rpBhrhcJ+zxTJprDlAgVYl ZMsqfCCrOg0B8yowEQMiQgORigNy2ZWhL/i3Phb78tPqi4eoK9p6LxZLycqzmUWb0Fg0cTn TfVuBhdUGahEf7w5QobKw== X-UI-Out-Filterresults: notjunk:1;V01:K0:vAAKRPUBGLA=:IQ1b2ocTJJN47AjSLpCxcD Xw6XBQeEIkNJgXfZq+Ru32MV7DRZD59igd5rJYEZ1VlInKvvOpuP1iXhSAlrNvl7ZXETncnzW QfizGgl7zI/uaNAH163nkixJ79rJtnApbEu84AuPj/bxsuUnLXAis5i7kDQyVFttlpgjHhfSo raSsY+nosxWg50Cs4zCMa2J4gPbjopwpcikAxl/11LpjIBjDq8Qtq+ElKzQ0JawLbOyWbKv4f vkuv1nV7qQGvcYVIb67719JvJSZQke0cpXi0Y0a81K9eMYXO+eg+Qp3XSYXEYbD1lAphxQYfa E1j4dTcqlAGA5dKu/mOUYenPxl+D5HIMnbui5t1wuUtblEL6ELlonmlHTFywITQzO6Z5BnXDP ipb4pnm2CoF+LuoTl9YxBCX2SFKgjhhjP0dIlNB3721sItycTCtgXe4syDAARTNsbxbXnpqIC 0EQI+b7EycX1dqfq9lgLv1uaB3p2WRFbnHru2hh0r1Nw+hAIn7vGszKvdhycMB9u2CzjEfu9V kCw4mmWEPUfAFIoWziXHzKvaseXu7TV7zGuBi6O8cgkw/CohjraGYL/DDPfNqb437UaoGD5f5 pEhLIYcw/v7K9DlttpCWMVcLQ+whJ4n01Pc68EQd6u8rnRuRu7xses3S67Rlhs+JKVebsmlrR 4MYV2hZ9r+vJVRv9yDC/+9eZ4U4pevFrhcxN4sWmakKmld+EPDGh0BzfdtFXhOru/4OKclIOU uJej6MIGAQzP+H5w0qJgxEfDb+AtZ70F4mjmWEiCL5ga+f2z/ChDu4zqXaisuOVPzcHxeCG34 w2S7MEU Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Markus Elfring Date: Wed, 17 Aug 2016 18:41:43 +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. Signed-off-by: Markus Elfring --- arch/s390/kvm/guestdbg.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/arch/s390/kvm/guestdbg.c b/arch/s390/kvm/guestdbg.c index b68db4b..8f886ee 100644 --- a/arch/s390/kvm/guestdbg.c +++ b/arch/s390/kvm/guestdbg.c @@ -217,16 +217,9 @@ int kvm_s390_import_bp_data(struct kvm_vcpu *vcpu, return -EINVAL; size = dbg->arch.nr_hw_bp * sizeof(*bp_data); - bp_data = kmalloc(size, GFP_KERNEL); - if (!bp_data) { - ret = -ENOMEM; - goto error; - } - - if (copy_from_user(bp_data, dbg->arch.hw_bp, size)) { - ret = -EFAULT; - goto error; - } + bp_data = memdup_user(dbg->arch.hw_bp, size); + 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