From patchwork Sat Apr 29 01:45:14 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Geliang Tang X-Patchwork-Id: 756632 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [103.22.144.68]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3wFDCY3cPyz9s7n for ; Sat, 29 Apr 2017 11:50:17 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="bXrL5cN5"; dkim-atps=neutral Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 3wFDCY2Yj0zDqG4 for ; Sat, 29 Apr 2017 11:50:17 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="bXrL5cN5"; dkim-atps=neutral X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Received: from mail-io0-x241.google.com (mail-io0-x241.google.com [IPv6:2607:f8b0:4001:c06::241]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 3wFD7X128hzDqC2 for ; Sat, 29 Apr 2017 11:46:48 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="bXrL5cN5"; dkim-atps=neutral Received: by mail-io0-x241.google.com with SMTP id x86so14600490ioe.3 for ; Fri, 28 Apr 2017 18:46:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=OXQWfOEtvjC0s6KOq3yv271/NpSbXIWTbHyu16nUi1U=; b=bXrL5cN5xyYY2Oe8XGWgnN7yrbG3CwMelpcytquOEZshtvSac2yoimWelonbW6qsiO glLYn1VOtqeJOfDXDtBHYaxuLhfK5glYEZs1YFC6QaVKdG6ktzHH3JSpENI0pX3XFFK3 5HrkQIO+w1x0t9zyyKBViHxorjg0XVLKf0eAbOK8ZWWL4AFBMtD2VJMTqhia02i73EJ6 TdjGo5A1HxNkBAFQZdxy3+22OvUyiX1TqYYVrgYYNVPV03k1FaNI0ols1JWHxNvGTRbP zsQm+gdmRuvGManFu5j0G9jJjv5XA7L0xUfIZPUbo6Dj/SPp+dKaVibXe8oZUo68iudC Q4NQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=OXQWfOEtvjC0s6KOq3yv271/NpSbXIWTbHyu16nUi1U=; b=QmIKj4RYo/p/GLCJxFgrlQgHEQA8AstONbopHE0FJZ54a8f7m05L1Dz2Q0N7JOOYl/ 0arduPz6Ta5CpuUJK3WSNGMAM0erWMxUTuewpK+GdNfALKcjf2SpFy0obbMt2EcIqxBW eVmqZY+Sa5uLln/JybRGNe9ogPbbdibEgDyrpuO7oDjH53pZYCjBHPMRUZSheYOSEVA5 54IeP9OCO/zytXmAHuf2pm2afEvdsd5KIT82p9jp1dYE98Cjc3q7DVhoJp9ZxBU/HTJY Kwke6OSRmQvADtctb+fWclTu9TN63tWaA4vP12yLngDaXBQm6ePHQe0PKdPlG9uxqMRs /e8w== X-Gm-Message-State: AN3rC/6YmpYTIHqrBhVtoFJsknK5VVkmWy64o+tIH87SIAGSdltTmyZ5 cJUHMQFQSU6p4Q== X-Received: by 10.107.18.209 with SMTP id 78mr15311207ios.24.1493430406156; Fri, 28 Apr 2017 18:46:46 -0700 (PDT) Received: from localhost ([162.211.125.117]) by smtp.gmail.com with ESMTPSA id p75sm592112itb.26.2017.04.28.18.46.44 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 28 Apr 2017 18:46:45 -0700 (PDT) From: Geliang Tang To: Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman Subject: [PATCH] powerpc/powernv: use memdup_user Date: Sat, 29 Apr 2017 09:45:14 +0800 Message-Id: <82dff48f45f609c00bcf78810742e2702446dddd.1493380967.git.geliangtang@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <4db2a0ba17dc68d7bcfbd7d47b0eb22ad9a220c2.1493381463.git.geliangtang@gmail.com> References: <4db2a0ba17dc68d7bcfbd7d47b0eb22ad9a220c2.1493381463.git.geliangtang@gmail.com> X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Geliang Tang , linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Errors-To: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" Use memdup_user() helper instead of open-coding to simplify the code. Signed-off-by: Geliang Tang --- arch/powerpc/platforms/powernv/opal-prd.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/arch/powerpc/platforms/powernv/opal-prd.c b/arch/powerpc/platforms/powernv/opal-prd.c index 2d6ee1c..de4dd09 100644 --- a/arch/powerpc/platforms/powernv/opal-prd.c +++ b/arch/powerpc/platforms/powernv/opal-prd.c @@ -241,15 +241,9 @@ static ssize_t opal_prd_write(struct file *file, const char __user *buf, size = be16_to_cpu(hdr.size); - msg = kmalloc(size, GFP_KERNEL); - if (!msg) - return -ENOMEM; - - rc = copy_from_user(msg, buf, size); - if (rc) { - size = -EFAULT; - goto out_free; - } + msg = memdup_user(buf, size); + if (IS_ERR(msg)) + return PTR_ERR(msg); rc = opal_prd_msg(msg); if (rc) { @@ -257,7 +251,6 @@ static ssize_t opal_prd_write(struct file *file, const char __user *buf, size = -EIO; } -out_free: kfree(msg); return size;