Kaynağa Gözat

ima_write_policy(): don't open-code memdup_user_nul()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro 8 yıl önce
ebeveyn
işleme
02412e9b4e
1 değiştirilmiş dosya ile 4 ekleme ve 9 silme
  1. 4 9
      security/integrity/ima/ima_fs.c

+ 4 - 9
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)