From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751290AbdEHPpk (ORCPT ); Mon, 8 May 2017 11:45:40 -0400 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:41521 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751162AbdEHPpj (ORCPT ); Mon, 8 May 2017 11:45:39 -0400 Subject: Re: [PATCH] ima: use memdup_user_nul From: Mimi Zohar To: Geliang Tang , Dmitry Kasatkin , James Morris , "Serge E. Hallyn" Cc: linux-ima-devel@lists.sourceforge.net, linux-ima-user@lists.sourceforge.net, linux-security-module@vger.kernel.org, linux-kernel@vger.kernel.org Date: Mon, 08 May 2017 11:44:35 -0400 In-Reply-To: <044d541d7d33c997f9661ae625d1374bc1e5dab8.1493782979.git.geliangtang@gmail.com> References: <6baf3aa45d0b5e0fd016b508bac905ebf8443aac.1493779294.git.geliangtang@gmail.com> <044d541d7d33c997f9661ae625d1374bc1e5dab8.1493782979.git.geliangtang@gmail.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.20.5 (3.20.5-1.fc24) Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-TM-AS-MML: disable x-cbid: 17050815-0012-0000-0000-00000231BBD9 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 17050815-0013-0000-0000-00000748B4F1 Message-Id: <1494258275.5871.1.camel@linux.vnet.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-05-08_10:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=2 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1703280000 definitions=main-1705080085 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, 2017-05-06 at 23:40 +0800, Geliang Tang wrote: > Use memdup_user_nul() helper instead of open-coding to simplify the > code. > > Signed-off-by: Geliang Tang Thanks, this patch will be queued. Mimi > --- > security/integrity/ima/ima_fs.c | 13 ++++--------- > 1 file changed, 4 insertions(+), 9 deletions(-) > > diff --git a/security/integrity/ima/ima_fs.c b/security/integrity/ima/ima_fs.c > index ca303e5..ad491c5 100644 > --- a/security/integrity/ima/ima_fs.c > +++ b/security/integrity/ima/ima_fs.c > @@ -323,16 +323,11 @@ static ssize_t ima_write_policy(struct file *file, const char __user *buf, > if (*ppos != 0) > goto out; > > - result = -ENOMEM; > - data = kmalloc(datalen + 1, GFP_KERNEL); > - if (!data) > + data = memdup_user_nul(buf, datalen); > + if (IS_ERR(data)) { > + result = PTR_ERR(data); > goto out; > - > - *(data + datalen) = '\0'; > - > - result = -EFAULT; > - if (copy_from_user(data, buf, datalen)) > - goto out_free; > + } > > result = mutex_lock_interruptible(&ima_write_mutex); > if (result < 0)