summaryrefslogtreecommitdiffstats
path: root/security/integrity
diff options
context:
space:
mode:
authorGeliang Tang <geliangtang@gmail.com>2017-05-06 11:40:18 -0400
committerMimi Zohar <zohar@linux.vnet.ibm.com>2017-06-21 14:37:12 -0400
commitb4e280304ddb2fb5b6970524e901fc8ae8ec6337 (patch)
tree14f5444897b285b272ce18e8573f5f908e6b6683 /security/integrity
parent5d659f286d58d76064168c4cd7aad61a30d20c44 (diff)
ima: use memdup_user_nul
Use memdup_user_nul() helper instead of open-coding to simplify the code. Signed-off-by: Geliang Tang <geliangtang@gmail.com> Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
Diffstat (limited to 'security/integrity')
-rw-r--r--security/integrity/ima/ima_fs.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/security/integrity/ima/ima_fs.c b/security/integrity/ima/ima_fs.c
index ca303e5d2b94..ad491c51e833 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,
323 if (*ppos != 0) 323 if (*ppos != 0)
324 goto out; 324 goto out;
325 325
326 result = -ENOMEM; 326 data = memdup_user_nul(buf, datalen);
327 data = kmalloc(datalen + 1, GFP_KERNEL); 327 if (IS_ERR(data)) {
328 if (!data) 328 result = PTR_ERR(data);
329 goto out; 329 goto out;
330 330 }
331 *(data + datalen) = '\0';
332
333 result = -EFAULT;
334 if (copy_from_user(data, buf, datalen))
335 goto out_free;
336 331
337 result = mutex_lock_interruptible(&ima_write_mutex); 332 result = mutex_lock_interruptible(&ima_write_mutex);
338 if (result < 0) 333 if (result < 0)