From: Al Viro Date: Sat, 13 May 2017 22:15:25 +0000 (-0400) Subject: ima_write_policy(): don't open-code memdup_user_nul() X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=02412e9b4e54e124fe0890b30b891d3e6f3adf38;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git ima_write_policy(): don't open-code memdup_user_nul() Signed-off-by: Al Viro --- 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, 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)