From patchwork Sat May 6 15:42:22 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Geliang Tang X-Patchwork-Id: 759328 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3wKtMg6LR9z9s7g for ; Sun, 7 May 2017 01:43:27 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="qPiGwqFV"; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755287AbdEFPnY (ORCPT ); Sat, 6 May 2017 11:43:24 -0400 Received: from mail-pf0-f196.google.com ([209.85.192.196]:36606 "EHLO mail-pf0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753747AbdEFPnM (ORCPT ); Sat, 6 May 2017 11:43:12 -0400 Received: by mail-pf0-f196.google.com with SMTP id v14so4332510pfd.3; Sat, 06 May 2017 08:43:11 -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=Bd8P+11abtO8o5/e+PpkpD4rDEd3HZqUD0MVBavYZJs=; b=qPiGwqFVUqdNmTTNR/QqSP61oCKFQJUaKDWTxMqIYO4VHTlvm9n9FD62hEk4hec6K3 fWR1zHEwLqbEPv7udBa4F7AVLF6AJLvWgftYXGG8Q2ZVQuJaiEM7JhwHhM0f+0/dcRUe uRnWXNqgrztJ1/J8796pDAyc5Wr9GZoZwZbwENGVrnih8Y7nh0k+oYAO2Pd4kvKSho/+ RKKeD0Lt3nBK4QVs2nTNjMy0FBBraxKKjfqw96EmpZOxaoq3NYo20Qsyr2OoJmvVUQtH 4MNWBPj4Y8Msm49HwSX3oARwcAA2376m8U4FkDzYMIXIWwayZEsqYPiNQFMTzuNN0iZ2 l/lg== 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=Bd8P+11abtO8o5/e+PpkpD4rDEd3HZqUD0MVBavYZJs=; b=IZi26xQMH6hhz397F65DhkIVLa9nTK+Di1WA9bbbsPe57uc18Nouv2WR5JIdcYEfrA VSs3i+uewbEJ2gKBotgxr0GZwNdYT3/1PA4mCFQkrUZoXAvQ3A8cPPMrPcPLEoioA3yb m0mRHiDBUCMTAl8c4hKoj++Jr80Nv/XMuPE9exzp3mhfy/ZiETmWchXQbMePR60ttQCc g4BvELV8DuRsZH80ZPXOM4EsvttUj1aHGkXtlh2ctPvEr4DCQyPptKE3dldrFt9poI5f swLkNehz2ULVpZQtwcllyqo5zmaGRGOFwzkZFNJPrMnk5sI5zZb/mWnFb/rtX4BsC8ER PKaA== X-Gm-Message-State: AN3rC/6mLleoMB7EVWXKOVP5phzKei1MnoGYFBerWGIk3pzqglEqCjH4 Mzg8zSkq250DXw== X-Received: by 10.84.232.76 with SMTP id f12mr29457434pln.101.1494085390982; Sat, 06 May 2017 08:43:10 -0700 (PDT) Received: from localhost (li409-196.members.linode.com. [106.187.89.196]) by smtp.gmail.com with ESMTPSA id s68sm9659471pgc.5.2017.05.06.08.43.09 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 06 May 2017 08:43:10 -0700 (PDT) From: Geliang Tang To: Jean-Paul Roubelat Cc: Geliang Tang , linux-hams@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] yam: use memdup_user Date: Sat, 6 May 2017 23:42:22 +0800 Message-Id: X-Mailer: git-send-email 2.11.0 In-Reply-To: References: Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Use memdup_user() helper instead of open-coding to simplify the code. Signed-off-by: Geliang Tang --- drivers/net/hamradio/yam.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/drivers/net/hamradio/yam.c b/drivers/net/hamradio/yam.c index b6891ad..7a7c522 100644 --- a/drivers/net/hamradio/yam.c +++ b/drivers/net/hamradio/yam.c @@ -976,12 +976,10 @@ static int yam_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) case SIOCYAMSMCS: if (netif_running(dev)) return -EINVAL; /* Cannot change this parameter when up */ - if ((ym = kmalloc(sizeof(struct yamdrv_ioctl_mcs), GFP_KERNEL)) == NULL) - return -ENOBUFS; - if (copy_from_user(ym, ifr->ifr_data, sizeof(struct yamdrv_ioctl_mcs))) { - kfree(ym); - return -EFAULT; - } + ym = memdup_user(ifr->ifr_data, + sizeof(struct yamdrv_ioctl_mcs)); + if (IS_ERR(ym)) + return PTR_ERR(ym); if (ym->bitrate > YAM_MAXBITRATE) { kfree(ym); return -EINVAL;