Browse Source

[um] hostaudio: don't open-code memdup_user()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro 9 years ago
parent
commit
1ceb36285c
1 changed files with 3 additions and 7 deletions
  1. 3 7
      arch/um/drivers/hostaudio_kern.c

+ 3 - 7
arch/um/drivers/hostaudio_kern.c

@@ -105,13 +105,9 @@ static ssize_t hostaudio_write(struct file *file, const char __user *buffer,
 	printk(KERN_DEBUG "hostaudio: write called, count = %d\n", count);
 	printk(KERN_DEBUG "hostaudio: write called, count = %d\n", count);
 #endif
 #endif
 
 
-	kbuf = kmalloc(count, GFP_KERNEL);
-	if (kbuf == NULL)
-		return -ENOMEM;
-
-	err = -EFAULT;
-	if (copy_from_user(kbuf, buffer, count))
-		goto out;
+	kbuf = memdup_user(buffer, count);
+	if (IS_ERR(kbuf))
+		return PTR_ERR(kbuf);
 
 
 	err = os_write_file(state->fd, kbuf, count);
 	err = os_write_file(state->fd, kbuf, count);
 	if (err < 0)
 	if (err < 0)