Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp252540ybz; Fri, 24 Apr 2020 15:27:26 -0700 (PDT) X-Google-Smtp-Source: APiQypKc/kW8LDx7tz+QRdXnV3wiKJa7m/JqbxWKN3lIJU+n6kjbFuVQZSSqUfLO1P/NUIoVS9sq X-Received: by 2002:aa7:d2d0:: with SMTP id k16mr9911172edr.354.1587767246763; Fri, 24 Apr 2020 15:27:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587767246; cv=none; d=google.com; s=arc-20160816; b=DPdUb3eQy2OWcSGAs4fNAESZKrPK5Wd2kCpOPqY3bV1VgKIxk2s/4u0zSZOXNQE3KI d2MZWnCs4cJQIETHe3Vk3h2UnHP6hJKWm+/OAeHjpk6DKozlpehRsXDD2qSNG3YvzLrR v6vL1XwjgzDui5e42BjUmlFB84C6j9J+ISNitWfOUpuONKCaGT64qh0LDTYd67GFgLPG pJsl2JlFUADhh2s5AGyNqkFHJo0JfT7XgG+ySwsPwsNyXZth7LaLyBrDMEoNy1I0D6i/ 4WueNuE4//OynjOyQdTk8KxY8yGCVMSP2Rhrg9QoCUErtPACM5SCXVjx2/6QyOk5V7hh TCWQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:message-id :in-reply-to:date:references:organization:from:subject:cc:to :dkim-signature; bh=4burvc8rRyQM6v4gBy1cG+9OCDe7C9ocHkSwXVo8RKg=; b=J2XvX5n1k9hX7EpnfKZxKOtQ6gz6vW/zYOqsnEpEix7ihu7oN/sZHhrBPeoAR1n8xy 83ekjNp5Z+nTahOlFZsA9MoZ1CIlELOwDbyHnBFyrZzngXNV2Ujh4HxdqgyDfa61r+dF nxdj6xYlA9XPVF9NkU1vETiLqljJtXDWanf8qpEFMOwZ01Pegv2nqfpIRGXi+gJttjph BYOam8WYzfGYVn80L6Kz4SEJMMtaQAsSVESHu0tDIb0i0uIsoGv/Y1PtPGYy+isqN/ZH bZ9036hCDpR6wWF/1eRtq7FYJ+xa57RpeFXpFcQ/kKIYs1BhCAmuppBibuvE2pMbhsI9 lpqg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2020-01-29 header.b=rRlwzi4l; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id q17si3756326edr.550.2020.04.24.15.27.03; Fri, 24 Apr 2020 15:27:26 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2020-01-29 header.b=rRlwzi4l; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726110AbgDXWXl (ORCPT + 99 others); Fri, 24 Apr 2020 18:23:41 -0400 Received: from userp2120.oracle.com ([156.151.31.85]:58318 "EHLO userp2120.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726022AbgDXWXl (ORCPT ); Fri, 24 Apr 2020 18:23:41 -0400 Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 03OMJBcj111441; Fri, 24 Apr 2020 22:23:32 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=to : cc : subject : from : references : date : in-reply-to : message-id : mime-version : content-type; s=corp-2020-01-29; bh=4burvc8rRyQM6v4gBy1cG+9OCDe7C9ocHkSwXVo8RKg=; b=rRlwzi4lL4gkbydgSn/Gv3CfCf9yMhD3eEhQab8tuJ8DBI3FJAd2LvJ8HVhwv7CBtVZY lpcuruXNifmtOBR65yjA1JRcqhQPI4C2kuwXh5nDqRMYZjv2Na72CIxEVqR8voxUlHDQ G8kB8uau4Q57xmbyO9d/Zrzx5nsk4hZ475rF5L1//XuVNR20tnOZsMjNFPbXWXnHZr+i vZBs4mziTqwEFP6aJEb8GtZl0hfmCLA8nYjHfyJ1HPYPJ5xBZaH1eDh48++/zw4Qbn/u LM0HU7Qdes2upnvJYDaI5KXGVTt22oXFy/JNBIUAwseNOCmEq4KYTLcN6frUQdo77VhC 1A== Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by userp2120.oracle.com with ESMTP id 30k7qe9819-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 24 Apr 2020 22:23:32 +0000 Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 03OMIQ88001213; Fri, 24 Apr 2020 22:23:32 GMT Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by userp3030.oracle.com with ESMTP id 30gb1qq4en-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 24 Apr 2020 22:23:32 +0000 Received: from abhmp0017.oracle.com (abhmp0017.oracle.com [141.146.116.23]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id 03OMNSG9028406; Fri, 24 Apr 2020 22:23:29 GMT Received: from ca-mkp.ca.oracle.com (/10.159.214.123) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Fri, 24 Apr 2020 15:23:28 -0700 To: Zou Wei Cc: , , , , Subject: Re: [PATCH -next] scsi: aacraid: Use memdup_user() as a cleanup From: "Martin K. Petersen" Organization: Oracle Corporation References: <1587524232-118733-1-git-send-email-zou_wei@huawei.com> Date: Fri, 24 Apr 2020 18:23:26 -0400 In-Reply-To: <1587524232-118733-1-git-send-email-zou_wei@huawei.com> (Zou Wei's message of "Wed, 22 Apr 2020 10:57:12 +0800") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1.92 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9601 signatures=668686 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 suspectscore=0 spamscore=0 mlxlogscore=999 mlxscore=0 malwarescore=0 bulkscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2003020000 definitions=main-2004240167 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9601 signatures=668686 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 lowpriorityscore=0 priorityscore=1501 suspectscore=0 mlxlogscore=999 phishscore=0 impostorscore=0 mlxscore=0 clxscore=1011 malwarescore=0 adultscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2003020000 definitions=main-2004240167 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Zou, > diff --git a/drivers/scsi/aacraid/commctrl.c b/drivers/scsi/aacraid/commctrl.c > index ffe41bc..1ce1620 100644 > --- a/drivers/scsi/aacraid/commctrl.c > +++ b/drivers/scsi/aacraid/commctrl.c > @@ -513,17 +513,9 @@ static int aac_send_raw_srb(struct aac_dev* dev, void __user * arg) > goto cleanup; > } > > - user_srbcmd = kmalloc(fibsize, GFP_KERNEL); > - if (!user_srbcmd) { > - dprintk((KERN_DEBUG"aacraid: Could not make a copy of the srb\n")); > - rcode = -ENOMEM; > - goto cleanup; > - } > - if(copy_from_user(user_srbcmd, user_srb,fibsize)){ > - dprintk((KERN_DEBUG"aacraid: Could not copy srb from user\n")); > - rcode = -EFAULT; > - goto cleanup; > - } > + user_srbcmd = memdup_user(user_srb, fibsize); > + if (IS_ERR(user_srbcmd)) > + return PTR_ERR(user_srbcmd); > > flags = user_srbcmd->flags; /* from user in cpu order */ > switch (flags & (SRB_DataIn | SRB_DataOut)) { This is not equivalent, is it? The original code does a goto cleanup; whereas your patch returns on error. -- Martin K. Petersen Oracle Linux Engineering