From patchwork Tue Nov 9 02:34:52 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Morton X-Patchwork-Id: 12609537 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 14E3EC433F5 for ; Tue, 9 Nov 2021 02:34:55 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id BAD2761279 for ; Tue, 9 Nov 2021 02:34:54 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org BAD2761279 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=linux-foundation.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvack.org Received: by kanga.kvack.org (Postfix) id 643D86B00E8; Mon, 8 Nov 2021 21:34:54 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 5CCDF6B00E9; Mon, 8 Nov 2021 21:34:54 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4BC0D6B00EA; Mon, 8 Nov 2021 21:34:54 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0044.hostedemail.com [216.40.44.44]) by kanga.kvack.org (Postfix) with ESMTP id 38F5F6B00E8 for ; Mon, 8 Nov 2021 21:34:54 -0500 (EST) Received: from smtpin21.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id 0966F8249980 for ; Tue, 9 Nov 2021 02:34:54 +0000 (UTC) X-FDA: 78787824108.21.3DE6E3C Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by imf30.hostedemail.com (Postfix) with ESMTP id E49FAE00210E for ; Tue, 9 Nov 2021 02:34:33 +0000 (UTC) Received: by mail.kernel.org (Postfix) with ESMTPSA id 77B0E61350; Tue, 9 Nov 2021 02:34:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1636425292; bh=E9ydoCXB6E9Dtid88YpLrQxXDdLhZ3e1DdrS0n7ZPsM=; h=Date:From:To:Subject:In-Reply-To:From; b=uQSE+TN8EpA+hJHKgC+7CUJT+EfVYAQjyD+R/RbueY3IBsjh+q3s0JrCSt7YPYSpA tQPW0qiUULcjij8RtdbjhMJApyhzgynUgGqYozqQF+e778FrdFq3GMswBJkzceLh5t IX/1sneQAgTfk25fat0i7CzKkiFPZY1+F2IXYcGA= Date: Mon, 08 Nov 2021 18:34:52 -0800 From: Andrew Morton To: akpm@linux-foundation.org, alex.shi@linux.alibaba.com, jaharkes@cs.cmu.edu, jing.yangyang@zte.com.cn, linux-mm@kvack.org, mm-commits@vger.kernel.org, tanxin.ctf@gmail.com, torvalds@linux-foundation.org, xiyuyang19@fudan.edu.cn, zealci@zte.com.cn Subject: [patch 64/87] coda: use vmemdup_user to replace the open code Message-ID: <20211109023452.gTP4CgY5y%akpm@linux-foundation.org> In-Reply-To: <20211108183057.809e428e841088b657a975ec@linux-foundation.org> User-Agent: s-nail v14.8.16 Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=uQSE+TN8; spf=pass (imf30.hostedemail.com: domain of akpm@linux-foundation.org designates 198.145.29.99 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: E49FAE00210E X-Stat-Signature: 7ug65odqq1cz9e138f7a6a3o4fgu7mrq X-HE-Tag: 1636425273-835535 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: Jing Yangyang Subject: coda: use vmemdup_user to replace the open code vmemdup_user is better than duplicating its implementation, So just replace the open code. ./fs/coda/psdev.c:125:10-18:WARNING:opportunity for vmemdup_user The issue is detected with the help of Coccinelle. Link: https://lkml.kernel.org/r/20210908140308.18491-9-jaharkes@cs.cmu.edu Reported-by: Zeal Robot Signed-off-by: Jing Yangyang Signed-off-by: Jan Harkes Cc: Alex Shi Cc: Xin Tan Cc: Xiyu Yang Signed-off-by: Andrew Morton --- fs/coda/psdev.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) --- a/fs/coda/psdev.c~coda-use-vmemdup_user-to-replace-the-open-code +++ a/fs/coda/psdev.c @@ -122,14 +122,10 @@ static ssize_t coda_psdev_write(struct f hdr.opcode, hdr.unique); nbytes = size; } - dcbuf = kvmalloc(nbytes, GFP_KERNEL); - if (!dcbuf) { - retval = -ENOMEM; - goto out; - } - if (copy_from_user(dcbuf, buf, nbytes)) { - kvfree(dcbuf); - retval = -EFAULT; + + dcbuf = vmemdup_user(buf, nbytes); + if (IS_ERR(dcbuf)) { + retval = PTR_ERR(dcbuf); goto out; }