From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751480AbdEMDQ3 (ORCPT ); Fri, 12 May 2017 23:16:29 -0400 Received: from mail-pg0-f66.google.com ([74.125.83.66]:34682 "EHLO mail-pg0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751204AbdEMDQZ (ORCPT ); Fri, 12 May 2017 23:16:25 -0400 From: Geliang Tang To: Felipe Balbi , Greg Kroah-Hartman , Michal Nazarewicz , Vincent Pelletier , =?UTF-8?q?Felix=20H=C3=A4dicke?= , Dan Carpenter , Jim Lin Cc: Geliang Tang , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] usb: gadget: f_fs: use memdup_user Date: Sat, 13 May 2017 11:15:59 +0800 Message-Id: <694b8a4beb2ec1e087321bc423e5cd0c69e5a717.1494576863.git.geliangtang@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <908fa521decaf3703e172c3734c0d498741f3ddb.1494580404.git.geliangtang@gmail.com> References: <908fa521decaf3703e172c3734c0d498741f3ddb.1494580404.git.geliangtang@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Use memdup_user() helper instead of open-coding to simplify the code. Signed-off-by: Geliang Tang --- drivers/usb/gadget/function/f_fs.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/drivers/usb/gadget/function/f_fs.c b/drivers/usb/gadget/function/f_fs.c index 71dd27c..5754538 100644 --- a/drivers/usb/gadget/function/f_fs.c +++ b/drivers/usb/gadget/function/f_fs.c @@ -3692,14 +3692,9 @@ static char *ffs_prepare_buffer(const char __user *buf, size_t len) if (unlikely(!len)) return NULL; - data = kmalloc(len, GFP_KERNEL); - if (unlikely(!data)) - return ERR_PTR(-ENOMEM); - - if (unlikely(copy_from_user(data, buf, len))) { - kfree(data); - return ERR_PTR(-EFAULT); - } + data = memdup_user(buf, len); + if (unlikely(IS_ERR(data))) + return data; pr_vdebug("Buffer from user space:\n"); ffs_dump_mem("", data, len); -- 2.9.3